bam-ticketing-sdk
Version:
SDK for B.A.M Ticketing API
25 lines (20 loc) • 576 B
text/typescript
import { Jwt } from '..'
import { AuthService } from '../auth'
import { RefreshableJwt } from '../auth/types'
import { ICredential, CredentialType } from './credential'
export class GuestCredentials implements ICredential {
readonly type: CredentialType.Guest
private jwt?: Jwt
getToken(): Jwt | RefreshableJwt {
return this.jwt
}
async authorize(authService: AuthService): Promise<Jwt> {
const jwt = await authService.guestLogin()
this.jwt = jwt
return jwt
}
async refreshToken(): Promise<Jwt> {
// You can't refresh a guest token
return this.jwt
}
}