- Print
Authentication
- Print
Authentication Module 0.15.0
Usage
To use the Authentication module, you can import it into your project from the Firebolt SDK:
import { Authentication } from '@firebolt-js/sdk'
Overview
A module for acquiring authentication tokens.
Methods
device
Get a device token scoped to the current app.
function device(): Promise<string>
Promise resolution:
string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:token:device |
Examples
Acquire a Firebolt device identity token
JavaScript:
import { Authentication } from '@firebolt-js/sdk'
Authentication.device()
.then(token => {
console.log(token)
})
Value of token
:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Authentication.device",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
root
Get a root device token.
function root(): Promise<string>
Promise resolution:
string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:token:root |
Examples
Acquire a Firebolt root device identity token
JavaScript:
import { Authentication } from '@firebolt-js/sdk'
Authentication.root()
.then(token => {
console.log(token)
})
Value of token
:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Authentication.root",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
session
Get a destributor session token.
function session(): Promise<string>
Promise resolution:
string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:token:session |
Examples
Acquire a distributor session token
JavaScript:
import { Authentication } from '@firebolt-js/sdk'
Authentication.session()
.then(token => {
console.log(token)
})
Value of token
:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Authentication.session",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
token
Get a specific type
of authentication token
function token(type: TokenType, options?: object): Promise<object>
Parameters:
Param | Type | Required | Description |
---|---|---|---|
type | TokenType | true | What type of token to get values: 'platform' | 'device' | 'distributor' |
options | object | false | Additional options for acquiring the token. |
Promise resolution:
Property | Type | Description |
---|---|---|
value | string | |
expires | string | |
type | string |
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:token:platform |
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"
}
}
Acquire a Firebolt device identity token
JavaScript:
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": "platform"
}
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": "platform"
}
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"
}
}
}
Types
TokenType
enum TokenType {
PLATFORM = 'platform',
DEVICE = 'device',
DISTRIBUTOR = 'distributor'
}