안녕하세요
초보라 질문 자체가 이해가 안가실 수 있는데 그래도 답변 부탁드리겠습니다.
안드로이드에서 카카오 로그인 관련해서 기능을 구현해보고 있는데요
언어는 kotlin 으로 해보고 있습니다.
- 앱 ID : 526547
- Androidmanifest.xml 에 com.kakao.sdk.auth.AuthCodeHandlerActivity 코드 적용 완료
- Androidmanifest.xml 에 kakao{{네이티브키}} <- 이것도 모두 다 확인한 상태
- 플랫폼 : 안드로이드 > 키 해시에 키는 등록한 상태 ( 아래 커맨드 사용해서 등록 완료)
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 - 로그인되어 있는지 여부를 코딩해보니 에러 발생
에러 내용 : reason=invalidToken - 그래서 아래와 같이 SDK 로도 키를 확인할 수 있다고 하기에 확인해봄
import com.kakao.sdk.common.util.Utility
var keyHash = Utility.getKeyHash(this)
그런데 이미 해시키 등록한 값과 같습니다.(여기까지는 정상이라고 보여지는데요)
여튼 정작 아래 코드를 호출해보면 reason=invalidToekn 이라고 나옵니다.
// 사용자가 카카오에 로그인되어 있는지 여부 체크
private fun getKakaoLoginStatus() {
UserApiClient.instance.me { user, error ->
if (error != null) {
Log.d(TAG_OF_KAKAO_AUTH, "사용자 정보 요청 실패", error)
} else {
if (user != null) {
Log.i(TAG_OF_KAKAO_AUTH, "사용자 정보 요청 성공" +
"\n회원번호: ${user.id}" +
"\n이메일: ${user.kakaoAccount?.email}" +
"\n닉네임: ${user.kakaoAccount?.profile?.nickname}" +
"\n프로필사진: ${user.kakaoAccount?.profile?.thumbnailImageUrl}")
} else {
Log.i(TAG_OF_KAKAO_AUTH, "비로그인 상태")
}
}
}
}
왜 그런지 알 수 있을까요?