로그인
쇼핑몰 로그인 화면 및 로그인 시나리오에 대해 소개합니다.
Last updated
쇼핑몰 로그인 화면 및 로그인 시나리오에 대해 소개합니다.
Last updated
🅐 일반회원 로그인
ⓐ accessToken 발급
ⓑ 휴면회원 로직
ⓒ 비밀번호 유효기간 초과 로직
🅑 아이디 찾기
🅒 비밀번호 찾기
🅓 회원가입
🅔 비회원 주문조회
🅕 간편 로그인
회원가입 시 생성한 회원 정보 (아이디 / 비밀번호)를 입력하는 화면입니다.
두 가지 회원유형인 🅐일반 로그인 회원과 🅑간편 로그인 회원은 각각 로그인 로직이 상이하나, 공통적으로 accessToken/refreshToken을 획득 해야 합니다.
► 엑세스 토큰/리프레시 토큰 발급하기 엑세스 토큰 (accessToken) / 리프레시 토큰 (refreshToken) 을 발급합니다.
샵바이에서는 OAuth2 기반의 로그인 방식을 사용합니다. OAuth2가 적용되지 않은 경우, 액세스 토큰(accessToken) 기반의 로그인 방식을 사용합니다.
► 엑세스 토큰 발급하기 엑세스 토큰 (accessToken)을 발급합니다.
사용자가 입력한 아이디와 비밀번호로 해당 API를 호출하여 유효한 회원일 경우 accessToken/refreshToken을 획득합니다.
회원 액세스 토큰의 기본 유효시간은 5분, 리프레시 토큰의 기본 유효기간은 1일이며, 자동 로그인을 위해 keepLogin을 true로 요청하면 유효기간이 90일인 리프레시 토큰이 생성됩니다. 리프레시 토큰이 유효한 동안 액세스 토큰이 만료된 경우, 토큰을 갱신해야 합니다. 회원은 비밀번호 유효기간 90일이 지나면 비밀번호를 변경해야 합니다.
아래 API를 통해 토큰을 갱신할 수 있으며, 토큰 갱신과 관련된 자세한 내용은 OAuth 2.0 적용 가이드에서 확인하실 수 있습니다.
► 엑세스 토큰 갱신하기 엑세스 토큰 (accessToken)을 갱신합니다.
액세스 토큰 기반의 로그인 방식을 사용하는 경우, 회원 액세스 토큰의 기본 유효기간은 5분이며, 자동 로그인을 위해 keepLogin을 true로 요청하면 유효기간이 90일인 토큰이 생성됩니다. 해당 방식은 토큰 갱신 작업을 진행하지 않습니다. 회원은 비밀번호 유효기간 90일이 지나면 비밀번호를 변경해야 합니다.
2023년 9월 15일 개인정보보호법 개정에 따라 '개인정보 유효기간제'가 폐지되어,
쇼핑몰 운영방침에 따라 자율적으로 휴면회원 배치 사용 여부를 설정할 수 있습니다.
아래 어드민 경로에서 휴면회원 사용 여부를 설정할 수 있습니다.
직전 단계에서 Oauth2 기반 로그인 방식인 경우 POST /oauth2 혹은 POST /oauth2/openid 호출 액세스 토큰 기반의 로그인 방식인 경우 POST /oauth/token 혹은 POST /oauth/openid 호출
해당 API 응답 값에서 dormantMemberResponse가 null이 아닌 경우 휴면회원 해제 여부 컨펌창 노출
휴면회원 해제 API 호출
accessToken 을 획득했지만, 현재 사용자가 '휴면 회원'인 경우에는 휴면 회원 로직을 실행합니다. (일반회원 및 간편로그인 회원)
아래 POST /oauth2, POST /oauth2/openid, POST /oauth/token 혹은 POST /oauth/openid 응답 값 중 '휴면 회원 정보 dormantMemberResponse' 가 null이 아닌 경우 휴면회원으로 간주합니다.
POST /oauth2 ► 엑세스 토큰 / 리프레시 토큰 발급하기 액세스 토큰 (accessToken) / 리프레시 토큰 (refreshToken) 을 발급합니다.
► 엑세스 토큰 발급하기 엑세스 토큰 (accessToken)을 발급합니다.
사용자가 입력한 아이디와 비밀번호로 해당 API를 호출하여 유효한 회원일 경우 accessToken을 획득합니다.
► OpenId AccessToken/RefreshToken 발급하기 OpenId 회원의 액세스 토큰 (accessToken) / 리프레시 토큰 (refreshToken)을 발급합니다.
► OpenId AccessToken 발급하기 OpenId 회원의 액세스 토큰 (accessToken)을 발급합니다.
카카오, 네이버와 등과 같은 외부 IdP(Identity Provider, 즉 아이디 제공자)를 이용하여 로그인하는 회원을 뜻합니다. 사용자가 입력한 아이디와 비밀번호로 해당 API를 호출하여, 유효한 회원일 경우 accessToken 을 획득합니다.
휴면 해제 진행 시 아래 API를 호출하여 휴면해제 처리합니다. 휴면 해제 성공 시 로그인 상태로 간주합니다.
► 휴면 해제하기 회원의 휴면 상태를 해제합니다.
비밀번호 유효기간 90일 초과 시 비밀번호를 변경하는 페이지를 노출합니다. 비밀번호 변경 일시 및 '다음에 변경' 최종 처리 일시가 현재 시점 기준 90일을 초과한 경우, 비밀번호 변경안내 페이지로 이동합니다.
단, '일반 로그인 회원'의 경우에만 비밀번호 유효기간 로직이 실행되며,
쇼핑몰 비밀번호가 없는 '간편 로그인 회원'의 경우 비밀번호 변경 안내 대상이 아닙니다.
POST /oauth2 ► 엑세스 토큰 / 리프레시 토큰 발급하기 액세스 토큰 (accessToken) / 리프레시 토큰 (refreshToken) 을 발급합니다.
► accessToken 발급하기 엑세스 토큰 (accessToken)을 발급합니다.
응답 값 중 '비밀번호 변경 일로부터 경과일 수 daysFromLastPasswordChange' 가 90일 이상인 경우 비밀번호 변경 안내 대상입니다.
► 비밀번호 확인하기 입력된 비밀번호를 확인합니다.
'비밀번호 변경' 클릭 시 해당 API를 호출하여 , 현재 비밀번호가 일치하는지 확인합니다.
► 비밀번호 변경하기 비밀번호를 변경합니다.
'비밀번호 변경' 버튼 클릭 시입력한 새 비밀번호 newPassword로 비밀번호를 변경합니다. 기본 스킨에서는 비밀번호 변경에 성공 시, 로그아웃 처리 후 로그인 화면으로 이동합니다. 즉 새로 accessToken을 발급 받아야 합니다.
만약 '다음에 변경' 버튼 클릭 시 willChangeNextTime 값을 통해 daysFromLastPasswordChange가 현재 날짜로 업데이트 됩니다. 비밀번호 변경은 권장 사항으로서, '다음에 변경' 클릭 시 전 단계에서 획득한 accessToken을 이상 없이 사용할 수 있으며 로그인 상태로 간주됩니다.
만약 회원이 '비밀번호 변경' 혹은 '다음에 변경' 버튼을 클릭하지 않은 채, 다른 방법 (타 버튼 클릭, URI 직접 입력 등)을 통해 다른 화면으로 이동했다 하더라도 계속 로그인 상태로 간주합니다. 단, 이 경우 daysFromLastPasswordChange값이 90일 이상으로 유지되므로, 나중에 다시 로그인 시도 시 해당 비밀번호 변경 안내 화면이 다시 노출됩니다.
'아이디 찾기' 버튼 클릭 시 아이디 찾기 화면으로 이동합니다.
► 아이디 찾기 회원가입 시 입력한 정보로 아이디를 검색합니다.
회원가입 시 입력한 이름/이메일/휴대폰 번호 정보를 통해 아이디를 검색 합니다.
이메일 : 회원가입 시 입력한 이메일 정보로 동일 데이터 존재 여부 조회
휴대폰번호 : 회원가입 시 입력한 휴대폰 번호로 데이터 존재 여부 조회
이후 입력한 정보와 일치하는 회원정보가 있을 경우 아이디 안내 화면을 노출합니다.
아이디 안내 화면에서 아이디는 마스킹 처리하여 표기합니다.
이메일 형식 아이디 : 아이디 중 앞 2자리를 제외한 나머지는 마스킹 처리
이메일 형식이 아닌 아이디 : 끝 3자리 마스킹 처리
기본 스킨에서는 아이디가 여러개인 경우 개행 처리하며, 조회한 아이디가 휴면회원일 경우 (휴면) 텍스트를 노출합니다.
회원인증 설정을 '휴대폰인증' 으로 설정한 경우, '휴대폰 본인인증' 탭 항목이 추가로 노출됩니다.
'휴대폰 본인인증' 탭 선택 시 휴대폰 본인인증 화면을 실행한 후, POST /profile/find-id 를 호출하여 아이디를 찾을 수 있습니다. NHN KCP 휴대폰 본인인증 절차를 완료한 경우, 아이디 안내 화면에서 아이디 마스킹 처리를 하지 않고 안내합니다.
'비밀번호 찾기' 버튼 클릭 시 비밀번호 찾기 화면으로 이동합니다. 비밀번호 찾기 화면은 아이디 입력 → 본인인증 → 비밀번호 변경 → 변경완료 4단계 화면으로 진행됩니다.
GET /profile/password/search-account
► 비밀번호 찾기를 위한 계정 조회하기 비밀번호 찾기를 위한 계정 정보를 조회합니다.
사용자가 입력한 회원 아이디를 바탕으로 '회원번호 memberNo' 를 획득합니다.
비밀번호 찾기를 위한 본인인증 수단은 총 3개를 제공합니다.
이메일 인증 : 등록된 이메일로 찾기
휴대폰번호 인증 : 등록된 휴대폰 번호로 찾기
NHN KCP 외부 인증모듈을 호출하여 휴대폰 본인인증을 진행합니다.
회원인증 설정을 '휴대폰인증' 으로 설정한 경우, '휴대폰 본인인증' 탭 항목이 추가로 노출됩니다.
► 인증번호 발송하기 회원의 연락처로 인증번호를 발송합니다.
GET /profile/password/search-account 에서 전달받은 '회원번호 memberNo'를 바탕으로 등록된 이메일 또는 휴대폰 번호로 인증번호를 발송합니다.
► 인증번호 확인하기 전달받은 인증번호를 확인합니다.
Usage 값으로 FIND_PASSWORD 를 입력합니다.
본인인증 성공 시, 신규 비밀번호를 입력할 수 있습니다.
POST /profile/change-password-after-cert
► 비밀번호 변경하기 회원인증 후 비밀번호를 변경합니다.
기존에 사용 중이던 비밀번호와 동일한 비밀번호로 변경할 수 없습니다.
만약 해당 회원이 휴면회원인 경우, 비밀번호 변경 성공 후 아래 API를 호출하여 휴면해제 처리합니다.
► 휴면 해제하기 회원의 휴면상태를 해제합니다.
회원가입 페이지로 연결되는 회원가입 버튼을 노출합니다. 상세 내용은 회원가입 화면 문서를 참고하시길 바랍니다.
비회원 주문조회는 비회원이 구매한 주문 건에 대한 주문정보를 확인할 수 있도록 비회원 정보를 입력하는 영역입니다. 비회원으로 주문한 주문번호와 주문 시 작성한 주문번호 비밀번호를 입력하여 확인할 수 있습니다.
입력한 주문번호 / 주문번호 비밀번호와 일치하는 비회원 주문정보가 없는 경우, 아래 화면과 같은 alert 을 출력합니다.
► 비회원 주문 상세 조회하기 비회원 주문의 상세 정보를 조회합니다.
입력받은 주문번호와 주문번호 비밀번호로 해당 API를 호출하여 비회원 주문정보를 조회합니다. 조회 성공 시, 주문번호 orderNo 기준으로 비회원 주문 상세 정보 화면을 노출합니다.
일반 회원 로그인 영역 하단에 간편 로그인 기능을 제공합니다. 현재 제공하는 간편 로그인은 페이코, 네이버, 카카오, 페이스북 총 4개 입니다.
아래 어드민 경로에서 설정이 가능합니다. 각 어드민별 페이지에서 연동 설정한 외부 IdP(Identity Provider, 즉 아이디 제공자)를 노출합니다.
GET /malls ► 몰 정보 조회하기 쇼핑몰 전반에 대한 기본 정보와 설정 데이터를 조회할 수 있습니다.
어드민에 연동 설정이 되어있는 간편 로그인 인증업체 (외부 IdP)정보를 조회합니다. 연동되어 있지 않은 인증업체의 로그인 버튼은 노출되지 않습니다.
해당 API 응답 값 중 openIdJoinConfig 내 providers 값을 통해 확인 가능합니다.
각 간편 로그인 버튼 클릭 이후의 상세 로직은 간편 로그인 화면 문서를 확인하시길 바랍니다.