문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.
SKD 버전 - kakao_flutter_sdk : ^1.9.5
플랫폼 - Android, iOS
디벨로퍼스 앱ID - 1182446
회원탈퇴를 위해서 UserApi.instance.unlink
를 시도하면
KakaoClientException unknown: authentication token doesn't exist.
에러가 납니다.
에러 발생 후 로그인 했던 카카오톡 계정에서 연결된 서비스 관리를 통해 확인해보니, 해제는 잘 되어있는 것으로 확인됩니다.
추가로, unlink 호출 직전에 TokenManagerProvider.instance.manager.getToken
과 UserApi.instance.accessTokenInfo
으로 로그를 확인해보니 OAuthToken과 AccessTokenInfo는 잘 나오는 것으로 확인됩니다.
어떤 조치를 취해야하는지 도움 주시면 감사드리겠습니다.
안녕하세요.
해당 오류는 SDK 내 저장된 토큰이 없을 때 발생되는 오류로 현재 정상적인 unlink 요청이 있는 것으로 보아 이 기능이 두번 요청되는 것으로 보입니다.
번거로우시겠지만, unlink 요청 전에 로깅 하시어 두번 처리되지 않는지 확인 부탁드립니다.
빠른 답변 감사합니다!
로그로 확인해보았는데, 호출은 딱 한번 하고 있는 것으로 확인됩니다!
로그가 한번 발생하였을 때, 해당 오류가 발생한다는 말씀이신가요?
로깅 시, getToken 하여 토큰 존재 여부도 함께 확인하셨을 까요?
네 확인했습니다.
resignKakao() async {
// 카카오 탈퇴
print('11111111111111');
return NetworkClient.auth.delete().then((_) async {
var token = await kakao.TokenManagerProvider.instance.manager.getToken();
print('Access Token: ${token?.accessToken ?? "토큰이 없습니다"}');
var token2 = await kakao.UserApi.instance.accessTokenInfo();
print('token2: $token2');
return kakao.UserApi.instance.unlink().then((userid) {
print(userid);
return FirebaseClient.auth.signOut();
});
}
I/flutter (26742): 11111111111111
I/flutter (26742): REQ: DELETE /auth {}
I/flutter (26742): RES DELETE /auth
I/flutter (26742): Access Token: ZRX74CxVxgYTwNi_SBVy-oC-PNqdva_TAAAAAQoqJQ0AAAGU_T8SG6bXH4eeWQ3B
I/flutter (26742): token2: {app_id: 1182446, id: 3862105979, expires_in: 43172}
소스코드와 로그 첨부 했습니다!
저희 로직 내에서 unlink 이후 kakao.UserApi.instance.logout();
이 실행되는 곳을 발견하여
이미 unlink 돼서 getToken 으로 토큰이 없을때에는 return 하도록 처리하였더니 해결 되었습니다.
감사합니다.
2개의 좋아요