32 lines
745 B
TypeScript
32 lines
745 B
TypeScript
import { Injectable } from '@angular/core';
|
|
|
|
export type CognitoAuthProvider = 'amplify' | 'oidc';
|
|
|
|
export interface CognitoAuthConfig {
|
|
provider: CognitoAuthProvider;
|
|
region: string;
|
|
userPoolId: string;
|
|
userPoolWebClientId: string;
|
|
domain: string;
|
|
redirectSignIn: string;
|
|
redirectSignOut: string;
|
|
scopes: string[];
|
|
requireAuth?: boolean;
|
|
}
|
|
|
|
interface AuthProviderApi {
|
|
initialize(configuration: CognitoAuthConfig): Promise<void>;
|
|
signIn(): Promise<void>;
|
|
signOut(): Promise<void>;
|
|
isAuthenticated(): Promise<boolean>;
|
|
getIdToken(): Promise<string | null>;
|
|
getAccessToken(): Promise<string | null>;
|
|
handleCallback(): Promise<void>;
|
|
}
|
|
|
|
@Injectable({ providedIn: 'root' })
|
|
export class CognitoAuthService {
|
|
|
|
}
|
|
|
|
|