53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
POST /v1/login
|
|
|
|
---
|
|
|
|
Authenticates the user, and issues an access token for future requests.
|
|
|
|
---
|
|
|
|
## Request
|
|
|
|
| Name | Type | Description |
|
|
|-------------|--------|----------------------------------------------------------------------------------------------------------------|
|
|
| identifier | string | User's gorb ID. One of identifier and email **must** be implemented |
|
|
| email | string | User's email. One of identifier and email **must** be implemented |
|
|
| password | string | **Required**: The user's password (we need to figure out how exactly we're hashing + salting it on the client) |
|
|
| device_name | string | Name to help the user identify the device in their session list |
|
|
|
|
```json
|
|
{
|
|
"identifier": "radial_4740",
|
|
"password": "9r89mhs4czu4",
|
|
"device_name": "Laptop"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Responses
|
|
|
|
| Status | Description |
|
|
|--------|------------------------------------------------|
|
|
| 200 | Authentication successful |
|
|
| 400 | The post request included poorly formated data |
|
|
| 403 | Part of the cridentials are invalid. |
|
|
|
|
---
|
|
|
|
### 200
|
|
|
|
| Name | Type | Description |
|
|
|--------------|--------|-----------------------------------------------------------------------------|
|
|
| access_token | string | **Required**: The access token that will be used for further authentication |
|
|
| user_id | string | **Required**: The full gorb ID for the account |
|
|
| expires_in | int | How many seconds until the token expires and is invalidated |
|
|
|
|
```json
|
|
{
|
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJAcmFkaWFsXzQ3NDA6Z29yYi5hcHAiLCJpZGVudGlmaWVyIjoicmFkaWFsXzQ3NDAiLCJpYXQiOjE3NDM4ODgyNDAsImV4cCI6MTc0NTk2MTg0MH0.MZsOfeOm98K2sgtJ3hIDy0iyX27tDJRgW5iSayBJIDM",
|
|
"user_id": "@radial_4740:gorb.app",
|
|
"expires_in": 86400,
|
|
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJAcmFkaWFsXzQ3NDA6Z29yYi5hcHAiLCJpZGVudGlmaWVyIjoicmFkaWFsXzQ3NDAiLCJpYXQiOjE3NDM4ODgyNDAsImV4cCI6MTc0NjQ4MDI0MH0.OvUDelrhELNBhizvAj7wm13YpDLYluI4sPeBmT5sPUg"
|
|
}
|
|
```
|