--- title: "Authentication" slug: "081-core-authentication" updated: 2025-05-23T22:32:44Z published: 2025-05-23T22:32:44Z canonical: "docs.developer.comcast.com/081-core-authentication" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.developer.comcast.com/llms.txt > Use this file to discover all available pages before exploring further. # Authentication **Authentication Module 0.8.1 | Core SDK** ## Overview A module for acquiring authentication tokens. ## OpenRPC Firebolt APIs are maintained in the [rdkcentral/firebolt-core-sdk](https://github.com/rdkcentral/firebolt-core-sdk) GitHub repository. You can see this API in the [authentication.json](https://github.com/rdkcentral/firebolt-core-sdk/blob/main/src/modules/authentication.json) OpenRPC JSON-Schema document. ## 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 ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `type` | [`TokenType`](/docs/081-core-authentication#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) 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": "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' ``` ---