Authentication

    Authentication


    Article summary


    title: Authentication

    version: 1.0.0
    layout: default
    sdk: core

    # Authentication Module

    Version Authentication 1.0.0

    Table of Contents

    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:

    RoleCapability
    usesxrn: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:

    RoleCapability
    usesxrn: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:

    RoleCapability
    usesxrn: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:

    ParamTypeRequiredDescription
    typeTokenTypetrueWhat type of token to get
    values: 'platform' \| 'device' \| 'distributor'
    ,optionsobjectfalse

    Promise resolution:

    PropertyTypeDescription
    valuestring
    expiresstring
    typestring

    Capabilities:

    RoleCapability
    usesxrn: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'
    }
    
    


    Was this article helpful?

    What's Next