스프링 로그인 방식
- 세션 로그인
- JWT(Json Web Token) 로그인
→ 세션은 서버의 자원 소모 큼 (우리의 서비스에서는 jwt 로그인이 더욱 적합하다고 생각)
Access Token(JWT) + Refresh Token?
JWT는 토큰 자체에 정보를 담고있어 보안이 매우 취약함. 만약 JWT 토큰을 탈취당하게 되면 해당 사용자의 권한과 정보를 모두 빼앗기게 된다.
이를 보완하기 위해서 Refresh Token의 개념이 사용되었다.
- Access Token의 유효기간은 매우 짧게
- Refresh Token의 유효기간은 길게
- Access Token을 통해서만 자원에 접근이 가능, But 유효기간이 매우 짧다(탈취를 당해도 이미 사용할 수 없는 상태)
- Refresh Token은 유효기간이 길기에 탈취당할 수도 있지만 Refresh Token은 오직 Access 토큰을 재발급하는 용도(Refresh Token 자체로는 별 쓸모가 없다.)
카카오톡 소셜로그인
이게 내가 생각하기에 가장 이해하기에 쉬운 사진