Git & CS
AccessToken, RefreshToken?
승민아
2024. 1. 11. 17:36
소셜로그인이든, JWT든 oAuth든 뭘 도입하려니
액세스 토큰과 리프레쉬 토큰에 대한 이해가 필수였다.
AccessToken
목적 : 정보를 쓰거나 읽을 때 사용되는 권한 확인을 위해 사용한다.
클라이언트는 처음 인증을 정상적으로 받았을 때
AccessToken과 RefreshToken을 받는데 서버에 요청할때 권한을 인증하기위해
AccessToken을 사용하는 것이다.
이 액세스 토큰이 탈취 당하여 해커가 권한을 마음대로 사용할 수 있으므로
우리는 이 토큰의 유효기간을 짧게 지정한다.
RefreshToken
그럼 RefreshToken은 어디다 쓰냐?
AccessToken는 유효기간이 짧다.
액세스 토큰을 새로 발급 받기 위해 RefreshToken을 사용하는 것이다.
리프레쉬 토큰은 액세스 토큰보다 유효기간이 길게 지정되어 있다.
RefreshToken도 탈취 당할텐데 RefreshToken이랑 AccessToken을 왜 구분할까?
https://okky.kr/questions/1007579
간단히 한번 발급시 바뀌지 않는 RefreshToken으로 서버측에서 해킹된 액세스 토큰에 대해 방어 행동을 취할 수 있는 것이다.
그런데 RefreshToken 또한 탈취된다면 다양한 RefreshToken 전략이 있으니 참고...!
액세스 토큰이 만료되었다면 리프레쉬 토큰으로 액세스 토큰을 새로 발급 받아 사용자는 계속 로그인된 상태로 느낄 수 있다.
+ https://okky.kr/questions/1409503
이제 AccessToken과 RefreshToken을 어디에 어떻게 저장하여 사용하고 관리할지 알아보자.