카카오 로그인 구현해보기 REST API
Contents
소셜 로그인 첫 구현기 – 카카오
카카오 제품설정 – 로그인
이제 플랫폼에 프로젝트와 연동까지 마쳤으면 다음은 카카오의 여러 상품발전 서비스 중 로그인 설정을 진행해야 합니다. 좌측 메뉴 아래에서 상품발전 설정 – 카카오 로그인을 클릭하여 카카오 로그인 활성화 상황을 ON으로 변경해주고 더해서 나타난 OpenID Connect도 활성화해줍니다. OpenID Connect는 로그인할 때 인증정보가 담긴 ID 토큰을 발급받고 토큰 유효 시간동안은 추가 로그인을 하지 않아도 로그인이 가능하고 보안 성능도 높다고 합니다.
그리고 바로 아래 메뉴에 있는 동의 항목 메뉴으로 이동해줍니다. 그러면 위와 같은 설정 화면을 볼 수 있어요. 카카오 로그인을 할 때, 카카오 계정에서 여러 항목의 사용자 개인정보를 앱에서 활용할 수 있어요. 물론, 이를 하기 위해서는 인적사항 보호법에 따라 사용자의 동의가 필수입니다.
카카오톡 로그인 – Firebase Authentication 연동
앞서 포스팅 맨 처음에 카카오 로그인과 Firebase Authentication 연동을 위해 다음과 같은 절차가 진행된다고 했다. 카카오톡 로그인 -> Firebase Authentication 이메일 / 비밀번호 방안으로 카카오 이메일 계정 등록 -> Firebase Authentication에 카카오 이메일 계정으로 로그인 카카오톡으로 로그인할 때 해마다 Firebase Authentication에 카카오 계정을 등록하려는 시도를 하고자 합니다.
최초 로그인이라면 정상적으로 Auth.auth().createUser 함수가 실행되어 Firebase Authentication에 계정 등록이 되면서 바로 completion의 emailAuthSignIn 함수가 실행될 것입니다.
Kakao Developers 앱 등록
카카오 계정으로 로그인을 하고 상단 메뉴의 내 애플리케이션으로 이동합니다. 메인 화면에서 내 애플리케이션 추가하기를 누르고 애플리케이션 추가하기에 위와 같은 정보를 입력합니다. 사실 앱 아이콘은 추가해도 되면서 안해도 됩니다. 앱 이름과 사업자명은 필수인데, 사실 소프트웨어를 위한 앱이 아니라 연습용 앱이기 때문에 내 이름을 입력했다. 이후 저장을 클릭하시면 이제 메인 목록에 다음과 같이 나의 앱 플랫폼이 제작된 것을 알 수 있어요.
이제 플랫폼 목록에서 나의 앱을 클릭하시면 다음과 같은 정보를 확인할 수 있어요. 이제 하단에 있는 플랫폼을 설정으로 들어가 내 Xcode 프로젝트와 연계하는 작업 해야합니다.
STEP 회원정보량 가져오기
(위에 MVC패턴으로 진행하지 않았기 때문에 response 에 더해서 사용할 수 있어요. ) 6. 토큰을 이용하여 회원 정보를 가져올 수 있어요. 받은 정보를 데이터베이스에 넣어서 로그인처리를 할 수 있어요. (여기까지가 카카오에서 제공되는 API를 이용한 로그인 방법이고, STEP 4. 에서는 백엔드 서버에서 DB에 정보를 넣는 설명을 구현했다.
Kakao SDK로 디버그, 릴리즈 키 해시 확인Kakao SDK를 통해서도 키 해시 확인이 가능합니다. Utility에서 제공되는 편의 기능 중 getKeyHash() 함수를 사용하여 키 해시 값을 문자열(String)로 구할 수 있습니다. import com.kakao.sdk.common.util.Utilityvar keyHash Utility.getKeyHash(this)C) AndroidManifest.xml ”NATIVE_APP_KEY”는 (카카오 개발자 사회 > 내 애플리케이션 > 요약정보) 에서 찾을수 있습니다.
결과
카카오톡 계정으로 최초 로그인할 때에는 모달뷰가 올라와 카카오톡 로그인을 하고 Firebase Authentication 로그인을 진행합니다. 두 번째 로그인할 때에는 카카오톡 로그인 토큰이 유효하여 바로 Firebase Authentication 로그인만 진행합니다. Firebase Authentication Console 창에서도 보면 Users 목록에 카카오톡 계정이 잘 등록된 것을 확인할 수 있어요. 주의내용은 카카오톡 로그인은 Firebase Authentication의 이메일 / 비밀번호 기본 제공업체를 통해 로그인하는 방식입니다.
따라서 예제 프로젝트처럼 앱에서 이메일 / 비밀번호를 생성하여 회원가입 후 로그인하는 방법과 카카오톡을 통해 로그인하는 방법 두가지가 모두 존재할 경우, 카카오톡 이메일과 앱에서 회원가입한 이메일이 중복되면 둘 중 하나는 생성이 안됩니다.
일관되게 묻는 질문
소셜 로그인 첫 구현기
먼저 에 접속 후 로그인을 해주었어요. 자세한 내용은 본문을 참고하시기 바랍니다.
카카오 제품설정 로그인
이제 플랫폼에 프로젝트와 연동까지 마쳤으면 다음은 카카오의 여러 상품발전 서비스 중 로그인 설정을 진행해야 합니다. 자세한 내용은 본문을 참고 해주시기 바랍니다.
카카오톡 로그인 Firebase Authentication
앞서 포스팅 맨 처음에 카카오 로그인과 Firebase Authentication 연동을 위해 다음과 같은 절차가 진행된다고 했다. 궁금한 내용은 본문을 참고하시기 바랍니다.
1 thought on “카카오 로그인 구현해보기 REST API”