카카오계정으로 로그인

안녕하세요. 카카오 계정으로 로그인을 테스트하고 있습니다.

카카오계정으로 로그인을 누르면 아래와 같은 화면이 나오는데요.

KakaoTalk_20191204_214943392

이메일또는 전화번호/ 비밀번호 입력하는 화면말고, 아래처럼 나오고 싶습니다.
(아래는 샘플앱)

KakaoTalk_20191204_215115715

kakao sdk 버전 1.1.7 의 LoginButton에서는
Session.getCurrentSession().getAuthTypes() 로 KAKAO_ACCOUNT 만 가져옵니다.

샘플앱에서는
KakaoSDK.getAdapter().getSessionConfig().getAuthTypes();
디버깅 했을 때는 AuthType을 kaka_talk, kakao_story 등등 잘 가져오네요.

설정부분에서 무언가 빠졌을까요?

KakaoSDKAdapter 부분의
override fun getAuthTypes(): Array {
return arrayOf(AuthType.KAKAO_LOGIN_ALL)
}

KAKAO_LOGIN_ALL을 사용해주시면 됩니다.

아래는 AuthType 전문입니다.

public enum AuthType {
/**
* Kakaotalk으로 login을 하고 싶을 경우 지정. Webviews are used if not installed.
*/
KAKAO_TALK(0),

/**
 * Kakaostory으로 login을 하고 싶을 경우 지정. Webviews are used if not installed.
 */
KAKAO_STORY(1),

/**
 * 웹뷰를 통해 카카오 계정연결을 제공하고 싶을 경우 지정.
 */
KAKAO_ACCOUNT(2),

/**
 * 모든 로그인방식을 사용하고 싶을때 지정.
 */
KAKAO_LOGIN_ALL(4),

/**
 * Kakaotalkㅇㅡ로 login을 하고 싶을 경우 지정. Webviews are not used even if talk is not installed.
 */
KAKAO_TALK_ONLY(5);

private final int number;

AuthType(int i) {
    this.number = i;
}

public int getNumber() {
    return number;
}

public static AuthType valueOf(int number) {
    if (number == KAKAO_TALK.getNumber()) {
        return KAKAO_TALK;
    } else if (number == KAKAO_STORY.getNumber()) {
        return KAKAO_STORY;
    } else if (number == KAKAO_ACCOUNT.getNumber()) {
        return KAKAO_ACCOUNT;
    } else if (number == KAKAO_LOGIN_ALL.getNumber()) {
        return KAKAO_LOGIN_ALL;
    } else {
        return null;
    }
}

}

2개의 좋아요