Authentication
- Print
Authentication
- Print
Article summary
Did you find this summary helpful?
Thank you for your feedback
*Authentication Module 0.8.1
Overview
A module for acquiring authentication tokens.
Usage
To use the Authentication module, you can import it into your project from the Firebolt SDK:
import { Authentication } from '@firebolt-js/sdk'
Methods
token
Get a specific type
of authentication token
function token(type: TokenType, options?: object): Promise<object>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
type | TokenType | true | What type of token to get |
options | object | false | Additional options for acquiring the token. |
Promise resolution:
the token value, type, and expiration
Field | Type | Description |
---|---|---|
value | string | |
expires | string | |
type | string |
Examples
Acquire a Firebolt platform token
JavaScript:
import { Authentication } from '@firebolt-js/sdk'
Authentication.token("platform", null)
.then(token => {
console.log(token)
})
Value of token
:
{
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires": "2022-04-23T18:25:43.511Z",
"type": "platform"
}
JSON-RPC:
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "authentication.token",
"params": {
"type": "platform"
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires": "2022-04-23T18:25:43.511Z",
"type": "platform"
}
}
More examples...
Acquire a Firebolt device identity (XACT) tokenJavaScript:
import { Authentication } from '@firebolt-js/sdk'
Authentication.token("device", null)
.then(token => {
console.log(token)
})
Value of token
:
{
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires": "2022-04-23T18:25:43.511Z",
"type": "device"
}
JSON-RPC:
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "authentication.token",
"params": {
"type": "device"
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires": "2022-04-23T18:25:43.511Z",
"type": "device"
}
}
Acquire a Firebolt distributor token
JavaScript:
import { Authentication } from '@firebolt-js/sdk'
Authentication.token("distributor", {"clientId":"xyz"})
.then(token => {
console.log(token)
})
Value of token
:
{
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires": "2022-04-23T18:25:43.511Z",
"type": "distributor",
"data": {
"tid": "EB00E9230AB2A35F57DB4EFDDC4908F6446D38F08F4FF0BD57FE6A61E21EEFD9",
"scope": "scope"
}
}
JSON-RPC:
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "authentication.token",
"params": {
"type": "distributor",
"options": {
"clientId": "xyz"
}
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires": "2022-04-23T18:25:43.511Z",
"type": "distributor",
"data": {
"tid": "EB00E9230AB2A35F57DB4EFDDC4908F6446D38F08F4FF0BD57FE6A61E21EEFD9",
"scope": "scope"
}
}
}
Schemas
TokenType
type TokenType = 'platform' | 'device' | 'distributor'
Was this article helpful?