반응형
* SNS 소셜 로그인(카카오로그인)
- 카카오로그인은 OAuth 2.0 기반의 소셜 로그인 서비스
* OAuth 2.0 : 인증을 위한 개방형 표준 프로토콜
Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공
구글, 페이스북, 카카오, 네이버 등에서 제공하는 간편로그인도 OAuth 2.0 프로토콜 기반의 사용자 인증 기능을 제공
*카카오 로그인 준비
1. 카카오 디벨로퍼의 내 어플리케이션, 플랫폼 추가, RedirectURI등록
- 서비스에서 ID와 비밀번호를 검증하지 않고 카카오 쪽으로 넘겨서 카카오 로그인 후 토큰을 사용해 사용자 정보를 서비스 측에 전달
- 제공받은 정보로 서비스 회원가입 처리(신규일 경우)
- 제공받은 정보로 서비스 로그인 처리(기존 회원일 경우)
- 개발문서 : https://developers.kakao.com/docs/latest/ko/kakaologin/common
- 디자인소스 : https://developers.kakao.com/tool/resource/login
- 자바스크립트 : https://developers.kakao.com/docs/latest/ko/kakaologin/js
* 카카오 계정 정보(필수)
닉네임(profile_nickname) | 카카오계정 프로필 닉네임 |
프로필사진(profile_image) | 카카오계정 프로필 사진(사진URL, 썸네일URL) |
카카오계정(이메일)(account_email) | 카카오계정 대표 이메일(이메일, 이메일인증여부 등) |
*카카오 계정 정보(선택)
이름(name) | 카카오계정 이름 |
성별(gender) | 카카오계정의 성별 |
연령대(age_range) | 카카오 계정의 연령대, 한국나이(14세 미만,이상/ 20대 등) |
생일(birthday) | 카카오계정의 생일 |
출생 연도(birthyear) | 카카오계정의 출생 연도 |
카카오계정(전화번호)(phone_number) | 카카오계정과 연결된 카카오톡에 등록된 전화번호 |
CI (ci) | 카카오계정의 암호화된 이용자 확인값 |
배송지(shipping_address) | 카카오계정의 배송지 정보 |
<로그인>
1. kakao.Auth.authorize() : 카카오 로그인 함수
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#before-you-begin-process (Rest API)
* 응답코드
2. 카카오톡으로 로그인 또는 카카오 계정 정보 입력
3. 사용자 동의
4. 성공 - 인가코드 발급 (code, state) : RedirectURI로 302 Redirect / 실패 - error 및 error_description
https://developers.kakao.com/docs/latest/ko/kakaologin/trouble-shooting(주요 에러)
https://developers.kakao.com/docs/latest/ko/reference/rest-api-reference#response-code(응답코드)
5. 토큰발급
6. Parameter
name(type) | description |
redirectUri(Stirng) | 인가코드를 전달받을 서비스 서버의 URI |
scope(String) | 추가항목 동의 받기 요청 시 사용 |
throughTalk(Boolean) | 간편로그인 사용 여부 |
prompts(String) | 자동, 기존 로그인 여부와 상관없이 로그인 요청 시 사용 |
ServiceTerms(String) | 약관 선택해 동의받기 요청시 사용 |
state(String) | 로그인 요청에 대한 응답 값 |
nonce(String) | openid를 통해 id토큰을 발급 받을 때 토큰 재생 공격 방지 |
7.
반응형