UNPKG

@devlearning/jwt-auth

Version:

Jwt Angular Authentication manager with automatic Refresh Token management.

47 lines (46 loc) 1.79 kB
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>>; }