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
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
{
  "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
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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJAcmFkaWFsXzQ3NDA6Z29yYi5hcHAiLCJpZGVudGlmaWVyIjoicmFkaWFsXzQ3NDAiLCJpYXQiOjE3NDM4ODgyNDAsImV4cCI6MTc0NTk2MTg0MH0.MZsOfeOm98K2sgtJ3hIDy0iyX27tDJRgW5iSayBJIDM",
  "user_id": "@radial_4740:gorb.app",
  "expires_in": 86400,
  "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJAcmFkaWFsXzQ3NDA6Z29yYi5hcHAiLCJpZGVudGlmaWVyIjoicmFkaWFsXzQ3NDAiLCJpYXQiOjE3NDM4ODgyNDAsImV4cCI6MTc0NjQ4MDI0MH0.OvUDelrhELNBhizvAj7wm13YpDLYluI4sPeBmT5sPUg"
}