- 클라이언트와 서버 간의 상태 및 인증 정보를 유지하기 위해 사용됩니다. 이를 통해 클라이언트 응용 프로그램은 서버와 상호 작용하고 데이터를 교환하거나 특정 작업을 수행할 수 있습니다.
1. API 세션 사용 목적
💡 API 세션 사용 목적
1. 사용자 인증 및 인가 - 사용자가 API를 사용하려면 인증 및 인가 과정을 거쳐야 합니다. API 세션은 사용자가 인증된 세션을 유지하며 API에 접근할 수 있도록 도와줍니다. 2. 데이터 저장 및 검색 - API 세션을 사용하여 데이터를 저장하고 검색할 수 있습니다. 세션을 통해 데이터베이스와의 연결을 유지하고 데이터를 조작할 수 있습니다. 3. 상태 및 세션 관리 - API 세션을 사용하여 사용자의 상태를 추적하고 세션 관리를 할 수 있습니다. 예를 들어, 사용자가 로그인한 상태인지 여부를 확인하거나, 사용자의 활동을 추적할 수 있습니다.
2. API 세션의 라이프사이클
💡 API 세션의 라이프사이클
- 일반적으로 API 서버가 재기동 되면 연결된 세션은 모두 제거됩니다. API 서버가 구동 중일 경우의 라이프사이클에 대해 알아봅니다.
1. 인증 - 사용자는 API에 대한 인증을 통해 세션을 시작합니다.
2. 활성화 - 인증이 완료되면 API 세션이 활성화됩니다. 이때부터 사용자는 API를 호출하고 데이터를 교환할 수 있습니다.
3. 유효 기간 - API 세션은 일정 시간 동안 유효합니다. 유효 기간은 서비스 또는 플랫폼에 따라 다르며, 일반적으로 몇 시간 또는 몇 일로 설정됩니다
4. 만료 - API 세션의 유효 기간이 지나면 세션이 만료됩니다. 만료된 세션에서는 API 호출이 거부되며, 사용자는 다시 인증 과정을 거쳐 새로운 세션을 시작해야 합니다.
5. 재인증 - 만료된 세션에서는 사용자가 다시 인증을 수행하여 새로운 세션을 활성화할 수 있습니다.
3. API 세션 vs JWT 사용자 정보 체크
💡 API 세션 vs JWT 사용자 정보 체크
- 해당 부분에서는 API Session을 이용하거나 JWT를 이용한 사용자의 ‘인증’에 대해 확인하는 방법에 대해 확인하여 각각의 장단점을 확인해 봅니다.
💡 API 세션
- 해당 이미지에는 사용자가 API로 인증을 요청하였을 때, 사용자 정보를 확인하고 ‘인증’에 대한 반환으로 세션을 유지하며, API 재 요청이 들어오는 경우 세션에서 사용자 인증을 체크하여 로그인된 인증 상태로 수행이 됩니다.
https://www.baeldung.com/cs/tokens-vs-sessions
💡 JWT(JSON Web Token)
- 애플리케이션에서 ‘사용자 인증’을 위해 ‘인증’에 필요한 정보를 토큰에 담아서 암호화시켜 사용하는 인터넷 표준 인증방식을 의미합니다.
- 해당 이미지에서는 사용자가 API로 인증을 요청하였을 때, 최초 사용자 정보를 확인하고 토큰을 발급합니다. 발급된 토큰을 기반으로 API 호출 시 사용자의 인증을 체크하며 로그인된 인증상태로 수행이 됩니다
https://www.baeldung.com/cs/tokens-vs-sessions
💡 API 세션 vs JWT
- 클라이언트의 인증과 상태에 대해서 사용을 한다면 세션보다는 JWT를 사용하는 것을 권장합니다. 이는 세션과 달리 서버에서 세션 상태를 관리하지 않아도 되므로 확장성과 유연성이 높습니다. 또한, 토큰에는 클라이언트와 관련된 정보를 포함시킬 수 있어 더 많은 자유도를 제공합니다.