> For the complete documentation index, see [llms.txt](https://tech.x2bee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tech.x2bee.com/api-guide/store-front-api/undefined/undefined-1.md).

# 로그인 서비스

회원 가입이 완료된 고객이 로그인하여 계정에 액세스할 수 있는 인증 기능을 제공합니다. 고객은 개인 정보를 입력하고 로그인하여 개인화된 쇼핑 경험을 누릴 수 있습니다. 로그인 및 로그아웃 진행 시 사용 되는 API를 설명합니다. 회원 가입이 완료된 고객을 대상으로 일반 로그인과 간편 로그인 기능을 이용해 로그인 할 수 있습니다.

X2BEE 쇼핑몰의 회원이 아닌 경우 간편 로그인 서비스를 통하여 회원 가입을 진행할 수 있습니다.\
이미 가입된 회원인 경우 가입된 계정과 카카오, 네이버 계정을 연동하여 간편 로그인 서비스를 이용할 수 있습니다.

***

## 로그인

<figure><img src="/files/OiEYl6dhUjwnPuWBnxgK" alt="" width="230"><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### 자동 로그인 확인

고객이 자동 로그인을 체크하고 로그인 진행하면 이후 자동으로 로그인됩니다.

* **토큰 정보 발급 (**[🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EB%A1%9C%EA%B7%B8%EC%9D%B8\&path=saveAutoToken))\
  자동 로그인을 위해 사용자가 입력한 아이디와 비밀번호로 해당 API를 호출하고, 유효한 경우 10년간 유효한 자동로그인 토큰을 발급합니다.

```
POST /v1/front/tokenIssu 
```

{% endstep %}

{% step %}

### 로그인하기

회원가입이 완료된 고객의 아이디와 비밀번호를 통해 로그인 서비스를 제공합니다.

간편 로그인 연동이 완료된 경우 해당 API를 통해 로그인을 진행할 수 있습니다.

간편 로그인 연동에 대한 API는 회원가입 문서의 2. 간편 로그인 연동하기를 참고해주세요.

* **로그인(**[🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EB%A1%9C%EA%B7%B8%EC%9D%B8\&path=login))\
  사용자가 입력한 아이디와 비밀번호로 해당 API를 호출하여, 유효한 경우 120분간 유효한 accessToken과 accessToken이 만료되었을 때 갱신할 수 있는 refreshToken이 발급됩니다.

```
POST /v1/front/login 
```

{% endstep %}
{% endstepper %}

***

## 로그아웃

로그아웃은 전체메뉴 혹은 사이트 푸터에서 확인할 수 있습니다.

<figure><img src="/files/C4z46grOlK1vMgRpnETL" alt="" width="230"><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### 로그아웃하기

* **로그아웃 (**[🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EB%A1%9C%EA%B7%B8%EC%9D%B8\&path=logout))\
  로그인 시 발급되어 서버사이드에서 보유 중인 인가된 리프레시 토큰을 삭제하여 Access Token이 갱신되지 않도록 합니다.

```
POST /v1/front/logout 
```

{% endstep %}
{% endstepper %}

***

## 주기적인 비밀번호 변경

로그인 한 회원이 비밀번호를 변경한지 90일이 지난 경우 자동으로 비밀번호 변경 팝업이 나타납니다.

간편 로그인 서비스를 이용하는 회원은 적용되지 않으며, 비밀번호 변경을 90일 연장하거나 변경을 진행할 수 있습니다.

<figure><img src="/files/0LBcZJwSRAFk0zTpDR9p" alt="" width="230"><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### 비밀번호 변경하기

* **비밀번호 수정 (**[🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EC%95%84%EC%9D%B4%EB%94%94%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EC%B0%BE%EA%B8%B0/modifyPassword))\
  비밀번호 변경 시 총 세 가지 유형으로 변경이 진행됩니다.
  * 다음에 변경하기 : 회원의 비밀번호 변경 시점을 버튼을 누른 시점으로 업데이트함
  * 비밀번호 변경하기 : 현재 비밀번호 검증 후 변경하며, 현재 비밀번호 입력 및 새로운 비밀번호를 입력하여 비밀번호 변경함

```
PUT /v1/member/changePassword 
```

{% endstep %}
{% endstepper %}

***

## 아이디 찾기

본인인증 후 아이디를 찾기를 진행합니다.

<figure><img src="/files/2jd1A61B04hhjBuW01aR" alt="" width="375"><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### 아이디 찾기

* 아이디 찾기([🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EC%95%84%EC%9D%B4%EB%94%94%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EC%B0%BE%EA%B8%B0/getMemberFindId))\
  고객이 아이디를 분실한 경우, 아이디 찾기를 통해 본인 계정의 아이디를 조회합니다.\
  조회한 회원명과 아이디는 일부가 마스킹되어 전달됩니다.&#x20;

```
POST /v1/member/findId 
```

{% endstep %}
{% endstepper %}

***

## 비밀번호 찾기

분실한 비밀번호를 새로운 비밀번호로 변경하기 전, 아이디를 입력받아 해당 아이디 존재 여부를 확인합니다.

아이디가 존재하는 경우 본인인증 절차를 진행하며, 본인인증 후 해당 계정의 비밀번호를 즉시 변경할 수 있습니다.

{% hint style="warning" %}
간편 로그인 서비스를 통해 가입한 회원은 비밀번호 찾기 대상이 아니므로 비밀번호 변경이 불가합니다.
{% endhint %}

{% stepper %}
{% step %}

### **아이디 조회하기**

* **아이디 확인 (**[🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EC%95%84%EC%9D%B4%EB%94%94%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EC%B0%BE%EA%B8%B0/checkLoginId))\
  고객이 비밀번호를 분실한 경우, 비밀번호 변경 대상 아이디의 존재 유무를 확인합니다.

```
GET /v1/member/checkLoginId 
```

{% endstep %}

{% step %}

### 비밀번호 변경하기

* **비밀번호 변경**([🔗API 확인하기 >](https://api.x2bee.com/content?msa=member\&depth=%EC%95%84%EC%9D%B4%EB%94%94%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EC%B0%BE%EA%B8%B0/modifyPassword))\
  회원의 비밀번호를 변경합니다. \
  간편 로그인 서비스를 통해 가입한 경우, 별도의 비밀번호가 존재하지 않으므로 비밀번호 변경을 지원하지 않습니다.

```
PUT /v1/member/changePassword 
```

{% endstep %}
{% endstepper %}
