# 登入 / 登出 / 忘記密碼
### (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>"
}
}
```
-