specifications/API/client-server/v1/login.md

2.9 KiB

POST /v1/login


Authenticates the user, and issues an access token for future requests.


Request

Name Type Description
user_id 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.
{
  "user_id": "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.
500 An unhandled error occured.

200

Name Type Description
access_token string Required: The access token that will be used for further authentication.
user_id string Required: The account's local gorb ID.
uuid string Required: The account's UUID.
expires_in int How many seconds until the token expires and is invalidated.
refresh_token string The refresh token that will be used to refresh the access token. Required for avoiding users having to log in after access token expiration.
{
  "access_token": "35e404d160b0eac766cb85cf513670baa627d1e918c4813c3f099e31de300b63",
  "user_id": "radial_4740",
  "uuid": "dcb445f1-16e7-4cd9-ac19-af07acaeb865",
  "expires_in": 86400,
  "refresh_token": "d9ce91b7b643d5580ea605ad09ba1e13aef704c412194c00c592b96a62049587"
}