UNPKG

@stardyn/angular-auth

Version:

Angular Authentication Service - Lightweight, configurable authentication service for Angular applications with token management and role-based access control

45 lines (44 loc) 2.07 kB
import { Router } from '@angular/router'; import { Observable } from 'rxjs'; import { ApiResponse, DataSource, DataSourceApi, DataSourceWithRefresh, DataSourceWithRefreshApi, StorageService } from '@stardyn/angular-data-source'; import { LoginMicrosoftRequest, LoginRequest } from '../models/LoginRequest'; import { AuthResponse } from '../models/AuthResponse'; import { XConUser } from '../models/XConUser'; import { ModuleConsoleService } from "@stardyn/angular-console"; import { XconCoreAuthConfig } from "../models/AuthConfig"; export declare class AuthService { private router; private storageService; private dconsole; private configManager; private tokenManager; private dataSourceManager; private loginHandler; private currentUserSubject; currentUser$: Observable<XConUser | null>; private isAuthenticatedSubject; isAuthenticated$: Observable<boolean>; constructor(router: Router, storageService: StorageService, consoleService: ModuleConsoleService, dataSource?: DataSource, dataSourceApi?: DataSourceApi, dataSourceWithRefresh?: DataSourceWithRefresh, dataSourceWithRefreshApi?: DataSourceWithRefreshApi); configure(config: XconCoreAuthConfig): void; initialize(): Promise<void>; login(credentials: LoginRequest): Observable<AuthResponse>; loginWithEmail(credentials: LoginRequest): Observable<AuthResponse>; loginWithGoogle(): Observable<AuthResponse>; loginWithMicrosoft(credentials: LoginMicrosoftRequest): Observable<AuthResponse>; logout(): Promise<void>; logoutLocal(): Promise<void>; performLogoutRedirect(): Promise<void>; redirectLogout(): Promise<void>; refreshToken(): Promise<ApiResponse>; getCurrentUser(): XConUser | null; getConfiguration(): XconCoreAuthConfig; private handleAuthSuccess; private handleRefreshSuccess; private handleAuthError; private clearAuthData; private loadStoredAuth; private setAuthState; private tokenExpirationTimer; private scheduleTokenRefresh; private clearTokenRefreshTimer; }