Auth Provider

Generate Authorisation Token to call Affinidi Services.

Supported Languages

Package: @affinidi-tdk/auth-provider

npm install @affinidi-tdk/auth-provider --save

Package: affinidi_tdk_auth_provider

pip install affinidi_tdk_auth_provider

API Endpoints

URLs required to initiate integration with Affinidi TDK.

Token Endpoint

Endpoint to generate access token to call Affinidi Services with TDK.


https://apse1.auth.developer.affinidi.io/auth/oauth2/token

API Gateway URL

Base API URL of Affinidi Services.


https://apse1.api.affinidi.io

Classes and Methods

AuthProvider API

Used to generate Project Scoped Token required for calling Affinidi services (Clients).

When initiating the AuthProvider class, provide the Token information including the public/private key information to generate the Authorisation Token required.

Required information:

  • tokenId: ID of the Personal Access Token (PAT).
  • passphrase: Passphrase of the Private key if configured.
  • privateKey: Private key string to use to sign the token.
  • projectId: Project ID to generate the Token.
Module Imports
import { AuthProvider } from '@affinidi-tdk/auth-provider'
import affinidi_tdk_auth_provider
Sample Codes
// NOTE: set your variables for PAT
const privateKey = '<PAT_PRIVATE_KEY_STRING>'
const passphrase = '<PAT_KEY_PAIR_PASSPHRASE>'
const tokenId = '<PAT_ID>'
const projectId = '<PROJECT_ID>'

const authProvider = new AuthProvider({
    privateKey,
    passphrase,
    tokenId,
    projectId
})
import affinidi_tdk_auth_provider

stats = {
  tokenId,
  passphrase,
  privateKey,
  projectId,
}

authProvider = affinidi_tdk_auth_provider.AuthProvider(stats)

fetchProjectScopedToken

Return the generated Project Scoped Token to use for calling the Affinidi Services.

Module Imports
import { AuthProvider } from '@affinidi-tdk/auth-provider'
import affinidi_tdk_auth_provider
Sample Codes
import { AuthProvider } from '@affinidi-tdk/auth-provider'

// NOTE: set your variables for PAT
const privateKey = "<PAT_PRIVATE_KEY_STRING>"
const passphrase = "<PAT_KEY_PAIR_PASSPHRASE>"
const tokenId = "<PAT_ID>"
const projectId = "<PROJECT_ID>"

const authProvider = new AuthProvider({
    privateKey,
    passphrase,
    tokenId,
    projectId
})

const projectScopedToken = await authProvider.fetchProjectScopedToken()
import affinidi_tdk_auth_provider

stats = {
  tokenId,
  passphrase,
  privateKey,
  projectId,
}

authProvider = affinidi_tdk_auth_provider.AuthProvider(stats)

projectScopedToken = authProvider.fetch_project_scoped_token()

createIotaToken

Create an Affinidi Iota Framework token to generate the Iota Credentials to sign request token.

Parameters

iotaConfigId [String]

The ID of the Iota Configuration.

did [String]

The DID of the logged-in user which is obtained from the ID Token provided by the Affinidi Login. You can explore our Labs to learn how to integrate Affinidi Login into different programming languages and frameworks.

iotaSessionId [String]

The ID of the initialised Iota session. This parameter is optional.

Module Imports
import { AuthProvider } from '@affinidi-tdk/auth-provider'
import affinidi_tdk_auth_provider
Sample Codes
import { AuthProvider } from '@affinidi-tdk/auth-provider'

// NOTE: set your variables for PAT
const privateKey = "<PAT_PRIVATE_KEY_STRING>"
const passphrase = "<PAT_KEY_PAIR_PASSPHRASE>"
const tokenId = "<PAT_ID>"
const projectId = "<PROJECT_ID>"

const authProvider = new AuthProvider({
    privateKey,
    passphrase,
    tokenId,
    projectId
})

const iotaConfigurationId = "<IOTA_CONFIGURATION_ID>"
const userDid = "<LOGGED_IN_USER_DID>"

const iotaToken = await authProvider.createIotaToken(iotaConfigurationId, userDid)
stats = {
  tokenId,
  passphrase,
  privateKey,
  projectId,
}

authProvider = affinidi_tdk_auth_provider.AuthProvider(stats)

iotaConfigurationId = "<IOTA_CONFIGURATION_ID>"
userDid = "<LOGGED_IN_USER_DID>"

iotaToken = authProvider.create_iota_token(iotaConfigurationId, userDid)