카카오 로그인 토큰 갱신

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


앱ID: 742356

앱을 열 때 토큰 유효성 체크 후 아래 코드를 사용해 토큰 갱신하려고 하는데 oldToken(refreshToken)자리에 string값을 넣으니 "type ‘String’ is not a subtype of type ‘OAuthToken’ "에러가 뜨는데 OAuthToken 형식으로 어떻게 변환하여 넣는지 모르겠어요

await AuthApi.instance.refreshToken(oldToken: oldToken);

갱신하는 방법이 맞는지 아니라면 다른 해결 방법이 있는지 궁금합니다

안녕하세요

우선 최신 버전(1.5.0) 기준으로 AuthApi.instance.refreshToken() 메소드에는 await TokenManagerProvider.instance.manager.getToken() 호출해서 반환받은 OAuthToken 클래스를 넣어주셔야합니다.

그런데 flutter web으로 개발하고 계신 것이 아니라면 SDK에서 토큰을 자동으로 갱신해주기 때문에 토큰 갱신에 대해서 신경쓰실 필요가 없는데요, 토큰이 필요한 API를 호출했을 때 액세스 토큰이 만료되고, 리프레시 토큰이 만료되지 않은 상황이라면 SDK에서 토큰을 자동으로 갱신해주고 있습니다.

토큰 유효성 체크는 UserApi.accessTokenInfo() 로 호출하고 계실 것으로 보이는데요, accessTokenInfo 호출했을 때 정상적으로 호출이 완료됐다면 로그인된 상태라고 판단하면 될 것 같습니다.

참고용으로 관련 내용 가이드 첨부해드립니다.

access_token이 만료 시간이 12시간이던데 자동으로 갱신해준다면 접속한지 12시간이 지난시점에서 재 접속할 때 첨부드린 이미지의 만료 조건에 걸리는 일은 없는거 맞나요?

말씀주신 것처럼 12시간 지난 시점이라면 액세스 토큰은 만료되고, 리프레시 토큰만 유효한 상태가 맞는데요, UserApi.accessTokenInfo() 를 호출할 때 액세스 토큰이 갱신되고 SDK에 갱신된 토큰이 저장되기 때문에 catch 블럭이 실행되지 않습니다.

1개의 좋아요

감사합니다