@infosel-sdk/core
Version:
Core SDK for Infosel financial services platform. Provides essential infrastructure for authentication, HTTP/GraphQL communication, storage management, and error handling.
24 lines (23 loc) • 906 B
TypeScript
import AuthTokenProvider from '../../../domain/data_access/token_auth_provider';
import Token from '../../../domain/entities/token';
export default class TokenAuthProvider implements AuthTokenProvider {
private readonly mode;
private token;
private _axiosInstance?;
private _refreshTokenRequest?;
private realm;
private readonly clientId;
private _storage?;
constructor(mode: 'qa' | 'prod' | 'preprod', token: Token, realm?: string, clientId?: string);
getRealm(): string;
setRealm(realm: string): void;
private get axiosInstance();
private getBaseUrl;
generateToken(_: string): Promise<Token>;
shouldRefreshTokenOnError(error: unknown): Promise<boolean>;
refreshToken(__: string, ___?: Token): Promise<Token>;
setToken(token: Token): void;
setStorage(storage: {
saveObject<T>(key: string, object: T): Promise<T>;
}): void;
}