티스토리 뷰
안녕하세요 오틸라 입니다.
안드로이드를 개발할때 요즘은 SNS로그인이 아주 그냥 기본옵션처럼 요구하게 됩니다.
많이 쓰는 소셜로그인은
카카오, 네이버, 구글, 페이스북 4대장이 되겠네요.
이번시간에는 그중 카카오 로그인에 대해서 다루겠습니다.
외부 라이브러리를 참조하는 프로그래밍은
시간이 오래 지날수록 라이브러리의 버전업이 이루어 지면서, 기존방식대로 하면 안되는경우도 생기고
때로는 시간이 지나면서 간편해지기도 합니다.
어쨌든,
1년에 한번씩은 새버전의 자료를 만들어야 합니다. ㅎㅎ
그럼 시작해 보겠습니다.
1. 카카오 개발자 계정을 만든 후 로그인한다.
- 이건 뭐 따로 설명이 필요없겠죠? 카카오개발자 사이트 링크만 겁니다.
2. 로그인후 내 어플리케이션에서 어플리케이션 추가하기 버튼을 눌러 기본정보를 입력후 생성한다.
3. 생성된 어플리케이션을 클릭하여 요약정보에 앱키를 확인하고, 메모장에 복사해둔다.
4. 카카오개발자 홈페이지 상단탭에 있는 문서를 클릭하여 카카오로그인 Android로 이동한다.
이제 여기서 문서대로 따라하면 됩니다만, 문서대로 해도 오류가 나는분들이 워낙에 많아 스샷을 첨부하겠습니다.
최초 설정순서
저의 경우 운영체제가 windows이므로, 터미널에서
디버그 키 해시
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
릴리즈 키 해시
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
를 입력해서 키값을 얻습니다.
keytool도 안되고, openssl도 안되고 어쩌고 해서 키 해시를 얻는데 문제가 많으신분들은
카카오에서 제공해주는 함수를 실행해서 얻어도 됩니다.
얻은 키 해시를
카카오 - 내 어플리케이션 - 앱설정 - 플랫폼에 넣고 저장해주면 됩니다.
자 그럼 기본설정은 끝났고,
카카오 로그인을 시작해보겠습니다.
모듈레벨의 build.gradle에 위와같이 추가합니다.
매니페스트 파일에 위와 같이 추가합니다.
저 같은 경우는 LoginActivity에
요렇게 디자인했고,
각 버튼의 id를
btnGoogle, btnKakao, btnNaver로 했습니다.
그리고, btnKakao의 onclick에 로그인을 호출합니다.
여기서 java를 사용하시는분들은 문제가 발생할겁니다.
카카오에서 kotlin과 rxkotlin의 개발문서만 제공하고 java는 제공하지 않습니다.
java에서의 호출방법은 아래와 같습니다.
이제 여기까지 하고 로그인되는지 확인해보겠습니다.
디버깅걸고보니 로그인성공에 들어왔습니다.
여기서 OAuthtoken에 접속후 관련정보들이 들어있으니 값을 가지고 로그인 처리등을 해주면 되겠습니다.