UNPKG

bam-ticketing-sdk

Version:

SDK for B.A.M Ticketing API

32 lines (26 loc) 774 B
import { Jwt } from '..' import { AuthService } from '../auth' import { RefreshableJwt } from '../auth/types' import { ICredential, CredentialType } from './credential' /** * This class is used to authenticate with an api key. * This method is currently only used on the NFT service. * Be aware that, consequently, it will not work on other services. */ export class ApiKeyCredentials implements ICredential { readonly type: CredentialType.ApiKey private jwt?: Jwt constructor(apiKey: string) { this.jwt = { token: apiKey } } getToken(): Jwt | RefreshableJwt { return this.jwt } async authorize(_authService: AuthService): Promise<Jwt> { return this.jwt } async refreshToken(): Promise<Jwt> { // You can't refresh an api key return this.jwt } }