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 { const jwt = await authService.guestLogin() this.jwt = jwt return jwt } async refreshToken(): Promise { // You can't refresh a guest token return this.jwt } }