로그인 api 문의

  1. SDK 버전 : com.kakao.sdk:v2-user:2.0.5

  2. 가이드 문서에는 UserApiClient.instance.loginWithKakaoTalk(context) 이렇게 로그인을 호출하라고 되어 있는데
    실제로 해보면 loginWithKakaoTalk가 없습니다. 그래서 LoginClient.getInstance().loginWithKakaoTalk(mContext, kakaoCallback); 이렇게 사용하고 있습니다. 문제가 없는지요?

  3. LoginClient.getInstance().loginWithKakaoTalk(mContext, kakaoCallback);코드로 로그인 시도시 결과가
    AuthError
    (
    statusCode=401,
    reason=Misconfigured,
    response=AuthErrorResponse
    (
    error=misconfigured,
    errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url
    )
    )

이렇게 나옵니다. 해서 다른 글들을 검색해보니 키해시가 제대로 등록 되어 있지 않다고 하던데

저희 쪽에서는 키해시가 제대로 등록 되어 있다고 합니다.

이에 문제 확인이 필요하여 도움 요청 드립니다.

안녕하세요~

문서에는 최신 버전 (2.5.2) 기준으로 가이드하고 있고, 말씀해주신 로그인 메서드는 2.4.0 버전에서 user 모듈로 이동했습니다. (참고: https://developers.kakao.com/docs/latest/ko/sdk-download/android)

2.0.5 버전과 최신 버전의 로그인 메서드의 동작은 동일하나, 이후 버전에서 내부적으로 여러가지 개선사항들이 있기 때문에 최신 버전 사용하시기를 권장드립니다.

추가로 키 해시의 경우 여러 환경에서 개발을 진행하고 계신다면 각각의 환경의 키 해시를 등록해주셔야하고, 만약 구글 플레이스토어에 출시하셨다면 플레이스토어용 키 해시를 추가로 등록해주셔야 합니다.
키 해시 관련된 내용은 https://developers.kakao.com/docs/latest/ko/getting-started/sdk-android#add-key-hash 해당 가이드 참고 부탁드립니다.

감사합니다.
덕분에 해결됐습니다.
한가지 더 질문이 있는데 카카오톡이 설치 되어 있지 않으면 카카오 로그인 페이지를 호출하여 ID, PW 를 입력 후 로그인을 시키고 싶은데 그럴 경우 어떻게 해야 하나요?

UserApiClient.getInstance().loginWithKakaoTalk(mContext, kakaoCallback);
이렇게 로그인을 시도하면 당연히도 카카오톡이 설치되어 있지 않다는 결과를 받고 있습니다.

카카오 로그인 페이지를 호출하고 ID, PW를 입력 후 콜백을 어떻게 받나요?

https://developers.kakao.com/docs/latest/ko/kakaologin/android#sample-login 해당 가이드 참고해주세요~

해당 가이드 참고 하여

UserApiClient.getInstance().loginWithKakaoAccount(mContext, kakaoCallback); 추가 했습니다.

해당 API를 호출 하면 ‘카카오계정 로그인’ 페이지로 이동하여 ID, PW를 입 력 후 로그인을 했습니다.

하지만 그 이후 callback이 들어오지 않는데… 원인을 잘 모르겠습니다.

private Function2<OAuthToken, Throwable, Unit> kakaoCallback = new Function2<OAuthToken, Throwable, Unit> () {
        @Override
        public Unit invoke(OAuthToken oAuthToken, Throwable throwable) {
            
            if (throwable != null) {
                Log.e("error",throwable.getLocalizedMessage());
            } else if (oAuthToken != null) {
                Log.i("success", "로그인 성공");
                UserApiClient.getInstance().me(new Function2<User, Throwable, Unit>() {
                    @Override
                    public Unit invoke(User user, Throwable throwable) {
                        return null;
                    }
                });
            }
            return null;
        }
    };

UserApiClient.getInstance().loginWithKakaoTalk(mContext, kakaoCallback); API롤 호출 할 시엔 callback이 들어오는걸 확인 했습니다.

혹시 Redirect URI는 설정 하셨나요?

https://developers.kakao.com/docs/latest/ko/kakaologin/android#before-you-begin

Redirect URI 에 kakao를 붙이지 않아서 생긴 문제였습니다.
감사합니다.

1개의 좋아요