[프리미엄] 카카오 싱크 회원가입 API 화면가이드
프리미엄의 카카오 싱크 기능을 사용하기 위해, shop API로 회원가입 화면을 어떻게 구현할 수 있을지 안내하기 위한 콘텐츠입니다.
간단소개
기능요약
카카오 싱크 연동을 통해 쇼핑몰 회원이 카카오 계정을 이용하여 간편 회원 가입을 할 수 있도록 제공합니다.
대상 솔루션: 샵바이프리미엄 전용
기능 배포일자: 2022-12-07
기존 카카오 간편가입(카카오 로그인)을 사용중인 쇼핑몰인 경우, 기존에 사용하고 있던 디벨로퍼스 앱을 동일하게 사용해 주세요.
다른 앱으로 연동을 진행할 경우 기존 카카오 간편가입(카카오 로그인) 회원은 로그인할 수 없으며, 신규 회원으로 가입 처리됩니다.
(예시) API소개 및 화면 가이드
아래 API들을 활용하여 카카오 싱크 기능을 활용한 화면을 구현할 수 있습니다.
카카오 싱크는
① 카카오 싱크 신규 회원으로 최초 가입하는 경우
② 기존 일반 회원으로 가입되어 있던 경우
③ 기존 일반 회원이 카카오 싱크로 신규 가입하는 경우로 구분됩니다.
회원가입 화면에서 카카오로 시작하기 버튼 출력 및 카카오로 로그인 팝업 출력은 경우와 관계없이 동일하게 구현할 수 있습니다.
① 카카오 싱크 신규 회원 최초 가입 프로세스
② 기존 일반 회원 카카오 싱크 회원으로 전환 프로세스
③ 기존 일반 회원 카카오 싱크 신규 회원가입 프로세스
1) 회원가입 화면 (공통)
카카오로 시작하기 버튼 출력
▶ 몰 정보 조회하기
GET /malls API 보기>
몰 정보를 조회하는 API입니다.
해당 API 호출하여 받은 응답 값 중 openIdJoinConfig > providers에서 kakao-sync 값이 있는 경우 카카오로 시작하기 버튼 생성 후 kakao-sync 값을 매핑 시킵니다.
카카오 싱크 버튼 디자인 가이드는 카카오 싱크 리소스에서 확인 가능합니다.
카카오 로그인 팝업 출력
▶ OpenID 로그인 url 조회하기
GET /oauth/login-url API 보기>
OpenId 로그인 url 조회하기 위한 API 입니다.
들어가야 하는 provider : ncp_kakao-sync ( ncp_ + 1번의 kakao-sync ) / redirectUri : 팝업 종료 후 리다이렉트할 파일 경로
해당 API를 호출하여 받은 응답 값(loginUrl)으로 카카오 로그인 팝업을 출력합니다.
카카오 간편 가입 완료 후 카카오 로그인 팝업이 종료될 때 팝업 URL에 파라미터로 code 값을 전달받습니다. 이때 OpenID 로그인 url 조회하기 API 호출 시 파라미터 값으로 넣은 redirectUri에 해당하는 파일에 code 값을 가져옵니다.
▶ Openid Access Token 발급하기
GET /oauth/openid API 보기>
OpenId 회원의 AccessToken 발급하기 위한 API 입니다.
들어가야 하는 provider : ncp_kakao-sync
②에서 발급받은 code 값을 이용하여 해당 API를 호출합니다.
해당 API 호출 후 받은 응답 값 중
(1) accessToken을 로컬 스토리지에 저장합니다.
(2) ordinaryMemberResponse 값도 저장합니다. (이후에 사용합니다.) -> ordinaryMemberResponse 값은 기존 일반 회원으로 가입되어 있던 경우를 체크하여 api로 내려주는 값입니다.
해당 값은 기존 회원 가입 일과 기존 회원 마스킹 된 이메일 주소를 가지고 있습니다.
2) 기존 가입 회원 카카오 계정 전환 팝업 화면
기존 일반 회원으로 가입되어 있는 경우 카카오 싱크(간편 로그인) 회원으로 전환할 것인지, 카카오 싱크 계정으로 신규 가입할 것인지 선택이 가능합니다.
이에 따라 추가로 팝업 커스텀 처리를 통해 쇼핑몰에 노출이 필요합니다.
기존 일반 회원으로 가입되어 있던 상태에서 카카오 싱크 회원으로 전환 시 회원 유형이 쇼핑몰 회원에서 오픈아이디 회원으로 변경됨에 따라 기존 계정으로 로그인이 불가합니다. (아이디/ 비밀번호 찾기 불가)
팝업 구현 시 카카오 계정으로 전환 이후 기존 계정으로 로그인이 불가하다는 안내 문구 출력이 필요합니다.
ordinaryMemberResponse 값을 노출 처리합니다.
아이디/ 비밀번호 입력 (인풋)
간편 로그인 전환에 필요한 아이디와 비밀번호 인풋 창을 생성합니다.
간편 로그인으로 전환하기 (버튼)
▶ 기존 회원과 오픈 아이디 연동하기
POST /profile/synchronize API 보기>
기존 회원과 오픈 아이디 회원을 연동합니다.
아이디와 비밀번호 인풋에 들어간
value
값, 기존의 accessToken을 사용하여 해당 api를 호출합니다. (아이디와 비밀번호는 기존 회원의 정보와 일치하는지 비교할 때 사용하기 때문에, 일치할 때만 성공적으로 호출됩니다.)아이디/ 비밀번호 입력 후 유효성 검사 실패 시, 그에 따른 알럿 메세지가 출력되어야 합니다.
호출 성공 시 기존의 accessToken을 삭제 후, Response 값으로 받은 새로운 accessToken을 로컬 스토리지에 저장합니다.
기존 회원이 휴면 처리된 상태인 경우 간편 로그인으로 전환되지 않아 해당 api 호출 시 실패 처리됩니다. 호출 실패 후 발생하는 에러코드는 M0020이며, 해당 에러코드를 통해 "입력하신 아이디는 휴면상태의 계정입니다. 기존 회원으로 로그인 후 휴면상태를 해지해 주세요."와 같은 알럿 창을 출력시키거나 휴면회원 전환 페이지로 이동 후 휴면회원 해지 시 다시 카카오 계정 전환 팝업으로 이동합니다.
카카오 계정으로 신규 가입하기 (버튼)
▶ 오픈 아이디 회원가입 처리하기
POST /profile/openid API 보기>
오픈 아이디를 사용한 회원 가입 처리입니다.
이전에 가지고 있던 accessToken을 활용하여 해당 api 호출이 정상적으로 된 경우 회원 상태가
ACTIVE
로 변경되면 로그인 처리합니다.
Last updated