[프리미엄] 카카오 싱크 회원가입 API 화면가이드

프리미엄의 카카오 싱크 기능을 사용하기 위해, shop API로 회원가입 화면을 어떻게 구현할 수 있을지 안내하기 위한 콘텐츠입니다.

간단소개

  • 기능요약

    • 카카오 싱크 연동을 통해 쇼핑몰 회원이 카카오 계정을 이용하여 간편 회원 가입을 할 수 있도록 제공합니다.

    • 대상 솔루션: 샵바이프리미엄 전용

    • 기능 배포일자: 2022-12-07

기존 카카오 간편가입(카카오 로그인)을 사용중인 쇼핑몰인 경우, 기존에 사용하고 있던 디벨로퍼스 앱을 동일하게 사용해 주세요.

다른 앱으로 연동을 진행할 경우 기존 카카오 간편가입(카카오 로그인) 회원은 로그인할 수 없으며, 신규 회원으로 가입 처리됩니다.


(예시) API소개 및 화면 가이드

아래 API들을 활용하여 카카오 싱크 기능을 활용한 화면을 구현할 수 있습니다.

카카오 싱크는

① 카카오 싱크 신규 회원으로 최초 가입하는 경우

② 기존 일반 회원으로 가입되어 있던 경우

③ 기존 일반 회원이 카카오 싱크로 신규 가입하는 경우로 구분됩니다.

회원가입 화면에서 카카오로 시작하기 버튼 출력 및 카카오로 로그인 팝업 출력은 경우와 관계없이 동일하게 구현할 수 있습니다.

① 카카오 싱크 신규 회원 최초 가입 프로세스

② 기존 일반 회원 카카오 싱크 회원으로 전환 프로세스

③ 기존 일반 회원 카카오 싱크 신규 회원가입 프로세스


1) 회원가입 화면 (공통)

  1. 카카오로 시작하기 버튼 출력

▶ 몰 정보 조회하기

GET /malls API 보기>

몰 정보를 조회하는 API입니다.

  • 해당 API 호출하여 받은 응답 값 중 openIdJoinConfig > providers에서 kakao-sync 값이 있는 경우 카카오로 시작하기 버튼 생성 후 kakao-sync 값을 매핑 시킵니다.

  • 카카오 싱크 버튼 디자인 가이드는 카카오 싱크 리소스에서 확인 가능합니다.


  1. 카카오 로그인 팝업 출력

▶ 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로 내려주는 값입니다.

  • 해당 값은 기존 회원 가입 일과 기존 회원 마스킹 된 이메일 주소를 가지고 있습니다.

"ordinaryMemberResponse": {
        "email": "fp***@kakao.com",
        "signUpDateTime": "2021-11-29 10:04:18"
    }

2) 기존 가입 회원 카카오 계정 전환 팝업 화면

  • 기존 일반 회원으로 가입되어 있는 경우 카카오 싱크(간편 로그인) 회원으로 전환할 것인지, 카카오 싱크 계정으로 신규 가입할 것인지 선택이 가능합니다.

    • 이에 따라 추가로 팝업 커스텀 처리를 통해 쇼핑몰에 노출이 필요합니다.

  • 기존 일반 회원으로 가입되어 있던 상태에서 카카오 싱크 회원으로 전환 시 회원 유형이 쇼핑몰 회원에서 오픈아이디 회원으로 변경됨에 따라 기존 계정으로 로그인이 불가합니다. (아이디/ 비밀번호 찾기 불가)

    • 팝업 구현 시 카카오 계정으로 전환 이후 기존 계정으로 로그인이 불가하다는 안내 문구 출력이 필요합니다.

  • ordinaryMemberResponse 값을 노출 처리합니다.

  1. 아이디/ 비밀번호 입력 (인풋)

    • 간편 로그인 전환에 필요한 아이디와 비밀번호 인풋 창을 생성합니다.


  1. 간편 로그인으로 전환하기 (버튼)

▶ 기존 회원과 오픈 아이디 연동하기

POST /profile/synchronize API 보기>

기존 회원과 오픈 아이디 회원을 연동합니다.

  • 아이디와 비밀번호 인풋에 들어간 value 값, 기존의 accessToken을 사용하여 해당 api를 호출합니다. (아이디와 비밀번호는 기존 회원의 정보와 일치하는지 비교할 때 사용하기 때문에, 일치할 때만 성공적으로 호출됩니다.)

  • 아이디/ 비밀번호 입력 후 유효성 검사 실패 시, 그에 따른 알럿 메세지가 출력되어야 합니다.

  • 호출 성공 시 기존의 accessToken을 삭제 후, Response 값으로 받은 새로운 accessToken을 로컬 스토리지에 저장합니다.

  • 기존 회원이 휴면 처리된 상태인 경우 간편 로그인으로 전환되지 않아 해당 api 호출 시 실패 처리됩니다. 호출 실패 후 발생하는 에러코드는 M0020이며, 해당 에러코드를 통해 "입력하신 아이디는 휴면상태의 계정입니다. 기존 회원으로 로그인 후 휴면상태를 해지해 주세요."와 같은 알럿 창을 출력시키거나 휴면회원 전환 페이지로 이동 후 휴면회원 해지 시 다시 카카오 계정 전환 팝업으로 이동합니다.


  1. 카카오 계정으로 신규 가입하기 (버튼)

▶ 오픈 아이디 회원가입 처리하기

POST /profile/openid API 보기>

오픈 아이디를 사용한 회원 가입 처리입니다.

  • 이전에 가지고 있던 accessToken을 활용하여 해당 api 호출이 정상적으로 된 경우 회원 상태가 ACTIVE로 변경되면 로그인 처리합니다.

Last updated