@devlearning/jwt-auth
Version:
Jwt Angular Authentication manager with automatic Refresh Token management.
47 lines (46 loc) • 1.79 kB
TypeScript
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { JwtTokenBase } from './models/jwt-token-base';
import { JwtAuthConfig } from './models/jwt-auth-config';
import { MutexFastLockService } from '@devlearning/mutex-fast-lock';
import * as i0 from "@angular/core";
export declare class JwtAuthService<Token extends JwtTokenBase> {
private readonly _config;
private readonly _http;
private readonly _mutexFastLock;
private _isLoggedInSubject;
private _isRefreshingTokenSubject;
private _jwtTokenSubject;
private _isLocalStorageSupported;
private _refreshTokenSubject;
private _storage;
get isLoggedIn$(): Observable<boolean>;
get jwtToken$(): Observable<Token>;
get refreshingToken$(): Observable<boolean>;
get isLoggedIn(): boolean;
get jwtToken(): Token;
constructor(_config: JwtAuthConfig, _http: HttpClient, _mutexFastLock: MutexFastLockService);
init(): Observable<Token>;
token(request: any): Observable<Token>;
refreshToken(): Observable<Token>;
logout(): void;
isAuthenticationUrl(url: string): boolean;
isRefreshTokenExpired(): boolean;
isTokenExpired(): boolean;
setTokenUrl(url: string): void;
setRefreshUrl(url: string): void;
private getIsRefreshingToken;
private setRefreshingToken;
setToken(jwtToken: Token): void;
private _setToken;
private _cleanToken;
private _checkStorageIsSupported;
private _getLocalStorageSupported;
private _saveJwtToken;
private _getJwtToken;
private _deleteJwtToken;
private _checkTokenIsExpired;
private _handleError;
static ɵfac: i0.ɵɵFactoryDeclaration<JwtAuthService<any>, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<JwtAuthService<any>>;
}