•
유민아
•
김민선
◦
세션 기반 인증은 사용자가 로그인하면 서버가 해당 세션에 대한 고유한 식별자를 생성하고 이를 클라이언트에게 제공합니다. 클라이언트는 이 세션 식별자를 쿠키 또는 URL 매개변수 등을 통해 계속 전송하면서 상태를 유지합니다. 서버는 이 세션 식별자를 사용하여 사용자를 식별하고 관련된 상태 정보를 유지합니다.
토큰 기반 인증은 사용자가 로그인하면 서버가 클라이언트에게 액세스 토큰과 리프레시 토큰을 발급합니다. 액세스 토큰은 클라이언트가 보호된 리소스에 액세스하는 데 사용되며, 리프레시 토큰은 새로운 액세스 토큰을 얻기 위해 사용됩니다. 클라이언트는 액세스 토큰을 요청에 포함시켜 서버에 보내고, 서버는 이 토큰을 검증하여 사용자를 인증하고 권한을 부여합니다. 이 방식은 상태를 서버에 저장하지 않고도 분산 시스템에서 효율적으로 작동하는 장점이 있습니다.
•
박준영
세션 기반 인증 : 서버 중심, 상태 유지 방식.
토큰 기반 인증 : 클라이언트 중심, 상태 비저장 방식.
세션 기반 인증
작동 방식: 사용자가 로그인하면 서버는 사용자의 인증 정보를 서버의 메모리나 데이터베이스에 저장된 세션에 저장합니다. 그리고 서버는 사용자에게 세션 ID를 발급합니다. 사용자는 이후의 요청에서 이 세션 ID를 쿠키를 통해 서버에 전송합니다.
서버의 역할: 서버는 받은 세션 ID를 사용하여 해당 사용자의 세션을 조회하고 사용자를 인증합니다. 세션 정보는 서버에 저장되어 있기 때문에 서버는 세션의 상태를 유지해야 합니다.
토큰 기반 인증 (예: JWT)
작동 방식: 사용자가 로그인하면 서버는 사용자의 정보와 함께 일련의 클레임을 포함하는 토큰을 생성하고 이를 사용자에게 발급합니다.
서버의 역할: 서버는 받은 토큰을 검증하고 토큰에 포함된 정보를 사용하여 사용자를 인증합니다. 토큰은 일반적으로 서명되어 있어서 서버만이 토큰의 유효성을 검증할 수 있습니다.
•
김한신
세션 기반 인증과 토큰 기반 인증은 사용자 인증 방법 중 두 가지 다른 접근 방식입니다.
세션 기반 인증:
인터넷에서 사용자의 상태를 유지하고 안전하게 관리하기 위해 도입되었습니다.
- 보안성: 세션은 서버 측에 저장되므로, 클라이언트가 세션 정보를 직접 접근하기 어렵습니다.
토큰 기반 인증:
분산된 환경에서의 인증과 권한 부여를 간편하게 하기 위해, 서버에 의존하지 않는 토큰 기반의 인증 방식이 등장했습니다.
- 분리된 인증 서버: 토큰은 보통 인증 서버에서 발급되므로, 서비스 간 인증을 통일하고 분리된 인증 서버를 사용할 수 있습니다.
차이점:
세션 기반 인증은 서버에 세션을 저장하고 세션 ID를 클라이언트에게 전달하여 사용자를 식별합니다. 반면 토큰 기반 인증은 토큰을 클라이언트에 저장하고 이를 통해 사용자를 인증하며, 서버는 상태를 유지하지 않습니다.