안녕하세요. 현재 카카오 API를 이용해 로그인을 구현하였습니다.
또한 카카오 API 로그인시 액세스 토큰 갱신, 1달~2달 사이에 기간 리프레시 토큰 자동 갱신 등 이해가 가는데 궁금한점이있습니다.
토큰 갱신을 위해 토큰 정보 API(https://kapi.kakao.com/v1/user/access_token_info ) 요청
예를들어 사용자가 API 요청시 재발급을 해야하는지 알기 위해 토큰 정보 API를 요청후에 401 http status code -401이 뜨면 재갱신하는 로직을 짰는데 이와 같아 짜도 무방한가요?
오래동안 사용자가 서비스 방문을 하지 않는 경우
1번에서 사용자가 계속 활동을 하면 토큰 갱신에 대해 걱정은 없지만 예를들어 자체 서비스 토큰 기간이 3개월이고 사용자가 2달반만에 서비스를 진입하면 리프레시 토큰은 이미 기간이 지나서 토큰 발급이 안되는걸로 아는데 이 경우에는 어떻하면 좋을까요? 뭐 배치를 만들어서 한다든가 자체 서비스 토큰 기간을 짧게 가져가거나 하는 방법이 있겠지만 카카오에서 추천하는 방법이 있을지 궁금합니다.
tim.l
8월 18, 2024, 11:25오후
2
안녕하세요.
예를들어 사용자가 API 요청시 재발급을 해야하는지 알기 위해 토큰 정보 API를 요청후에 401 http status code -401이 뜨면 재갱신하는 로직을 짰는데 이와 같아 짜도 무방한가요?
네, 무방합니다.
2달반만에 서비스를 진입하면 리프레시 토큰은 이미 기간이 지나서 토큰 발급이 안되는걸로 아는데 이 경우에는 어떻하면 좋을까요?
토큰 갱신하기 API 응답
400, error_code가 KOE322일때
{"error":"invalid_grant","error_description":"expired_or_invalid_refresh_token","error_code":"KOE322"}
다시 카카오 로그인 하도록 처리 하시면 좋을 것 같습니다.
상세한 답변 감사드립니다.
답변주신 토큰 갱신하기 관련해서 질문이 있습니다.
다른 서비스 같은 경우에는 카카오 로그인을 하고 오래동안 활동을 안하고 들어가도 로그인이 되는걸 본적이 있는거같은데
이런 경우는 어떤 방식을 이용한건지 답변 가능하실까요?
감사합니다.
tim.l
8월 19, 2024, 7:46오전
4
카카오 로그인 시, 생성되는 토큰 은 아래와 같이 만료 시간이 짧고
Android, iOS: 12시간
JavaScript: 2시간
REST API: 6시간
리프레시 토큰 역시, 유효기간 "2달, 만료 시간 1달 남은 시점부터 갱신 가능"한데요.
만약, 리프레시 토큰 유효기간 2달을 지나도록 카카오 로그인 또는 토큰 갱신 하지 않았다면
카카오 로그인과 무관하게 자체적으로 로그인 유지 할 것으로 추정됩니다.
(1) 카카오 API 호출 실패 시, 재로그인하거나
(2) 카카오 로그인 성공후, 자체적으로 로그인 유지하고 카카오측 API 호출 하지 않거나