Skip to main content

UserAuthenticationApi

All URIs are relative to http://localhost

MethodHTTP requestDescription
loginPOST /auth/tokenLogin via password
logoutPOST /logoutInvalidates all user's access tokens
magicLinkLoginPOST /auth/magic_linkGenerate magic link for login
refreshTokenPOST /auth/token/refreshRefresh access token
twoFactorAuthenticationPOST /auth/2faTwo factor authentication

login#

/*** @returns TokenResponse**/async function login(body: LoginRequest)

Login via password

Notes:#

Login via username/password. Will return access and refresh tokens. NOTE: when requires_2fa is not empty in response, provided \"refresh_token\" should be used to confirm 2FA code via POST /auth/2fa.

Example#

const yat = require('yatjs');const api = new yat.YatJs();

let body = new YatJs.LoginRequest(); // LoginRequest // populate body...
try {  let res = await api.userAuthentication().login(body);  // res is of type TokenResponse  console.log('API called successfully. Result: ', res);} catch (error) {  console.error(error);}

Parameters#

NameTypeDescriptionNotes
bodyLoginRequest

Return type#

TokenResponse

Authorization#

No authorization required

HTTP request headers#

  • Content-Type: Not defined
  • Accept: /

logout#

/*** @returns null**/async function logout()

Invalidates all user's access tokens

Notes:#

Requires UserWriteSelf scope

Example#

const yat = require('yatjs');const api = new yat.YatJs();
await api.login("[email protected]", "your_password");
try {  await api.userAuthentication().logout();  console.log('API called successfully.');} catch (error) {  console.error(error);}

Parameters#

This endpoint does not have any parameters.

Return type#

null (empty response body)

Authorization#

two_factor

HTTP request headers#

  • Content-Type: Not defined
  • Accept: Not defined

magicLinkLogin#

/*** @returns MagicLinkLoginResponse**/async function magicLinkLogin(body: MagicLinkLoginRequest)

Generate magic link for login

Notes:#

Will generate and send magic link to provided user's email. Assuming the email address corresponds to a valid user

Example#

const yat = require('yatjs');const api = new yat.YatJs();

let body = new YatJs.MagicLinkLoginRequest(); // MagicLinkLoginRequest // populate body...
try {  let res = await api.userAuthentication().magicLinkLogin(body);  // res is of type MagicLinkLoginResponse  console.log('API called successfully. Result: ', res);} catch (error) {  console.error(error);}

Parameters#

NameTypeDescriptionNotes
bodyMagicLinkLoginRequest

Return type#

MagicLinkLoginResponse

Authorization#

No authorization required

HTTP request headers#

  • Content-Type: Not defined
  • Accept: /

refreshToken#

/*** @returns TokenResponse**/async function refreshToken(body: RefreshRequest)

Refresh access token

Notes:#

Will return updated access and refresh tokens. NOTE: when requires_2fa is not empty in response, provided \"refresh_token\" should be used to confirm 2FA code via POST /2fa

Example#

const yat = require('yatjs');const api = new yat.YatJs();

let body = new YatJs.RefreshRequest(); // RefreshRequest // populate body...
try {  let res = await api.userAuthentication().refreshToken(body);  // res is of type TokenResponse  console.log('API called successfully. Result: ', res);} catch (error) {  console.error(error);}

Parameters#

NameTypeDescriptionNotes
bodyRefreshRequest

Return type#

TokenResponse

Authorization#

No authorization required

HTTP request headers#

  • Content-Type: Not defined
  • Accept: /

twoFactorAuthentication#

/*** @returns TokenResponse**/async function twoFactorAuthentication(body: Confirm2Fa)

Two factor authentication

Notes:#

Complete login flow when user requires 2FA. refresh_token obtained from a call to /token or /token/refresh should be used to complete authentication. Note: 2FA token has expiration timeout, which is when expired sensitive operations would require authentication via 2fa once again.

Example#

const yat = require('yatjs');const api = new yat.YatJs();

let body = new YatJs.Confirm2Fa(); // Confirm2Fa // populate body...
try {  let res = await api.userAuthentication().twoFactorAuthentication(body);  // res is of type TokenResponse  console.log('API called successfully. Result: ', res);} catch (error) {  console.error(error);}

Parameters#

NameTypeDescriptionNotes
bodyConfirm2Fa

Return type#

TokenResponse

Authorization#

No authorization required

HTTP request headers#

  • Content-Type: Not defined
  • Accept: /