@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
TypeScript
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;
}