---
# System prepended metadata

title: 登入 / 登出 / 忘記密碼

---

# 登入 / 登出 / 忘記密碼

### (OK) 登入

**注意：本 API 不需要帶 Header**

測試帳號密碼：B333333321 / 00000

Request

    POST /user/login

Payload
```json=
    {
        "username": "帳號 <string> <測試階段帶 1 會觸發重複登入，其他則為正常登入>",
        "password": "密碼 <string> <測試階段隨便帶>",
        "device": "登入裝置 <enum: pc, mobile> <測試階段隨便帶>"
    }
```

Response（OK）

```json=
    {
        "success": true,
        "data": {
            "token": "User Token <string>",
            "expiredAt": "到期時間 <string>",
            "id": "使用者 ID <string>"
        }
    }
```

Response（已有重複登入）

```json=
    {
        "success": false,
        "detail": {
            "sequenceId": "暫存 ID <string>",
        }
    }
```

Response（尚未同意 EULA）

```json=
    {
        "success": false,
        "detail": {
            "sequenceId": "暫存 ID <string>",
        }
    }
```

### (OK) 重複登入

Request

    POST /user/login/$sequenceId

Response

```json=
    {
        "success": true,
        "data": {
            "token": "User Token <string>",
            "expiredAt": "到期時間 <string>",
            "id": "使用者 ID <string>"
        }
    }
```

### (OK) 同意 EULA 並登入

Request

    POST /user/login/eula/$sequenceId

Response

```json=
    {
        "success": true,
        "data": {
            "token": "User Token <string>",
            "expiredAt": "到期時間 <string>",
            "id": "使用者 ID <string>"
        }
    }
```

### (OK) 登出

Request

    POST /user/logout

Payload

    無（原本的 device 參數將從帶進來的 token 自動判別）

```json=
Response

    {
        "success": true
    }
```

### (OK) 忘記密碼

**注意：本 API 不需要帶 Header**

目前只會回傳 Email，還不會寄信也不會變更密碼，等待緯創提供 SMTP 測試帳號後方可繼續測試

Request

    POST /user/resetPassword

Payload

```json=
    {
        "username": "身分證字號 <string> <測試階段隨便帶>",
        "newPassword": "XXXX" // 若不帶 newPassword, 就直接取 username 後五碼
    }
```

Response

```json=
    {
        "success": true
        "data": {
            "email": "信箱 <string>",
            "subEmail": "備用信箱 <string>"
        }
    }
```
-