armor-editor
Version:
Advanced rich text editor with premium armor-grade security, real-time collaboration, spell checking, track changes, and framework-agnostic design for React, Vue, Angular, Next.js, Nuxt.js
42 lines (41 loc) • 1.16 kB
TypeScript
export interface SSOConfig {
provider: 'saml' | 'oauth2' | 'oidc';
entityId: string;
ssoUrl: string;
certificate: string;
attributeMapping?: Record<string, string>;
}
export interface UserProfile {
id: string;
email: string;
name: string;
roles: string[];
permissions: string[];
}
export declare class SSOIntegration {
private config;
private currentUser;
private tokenRefreshTimer;
constructor(config?: SSOConfig);
private initializeSSO;
private checkExistingSession;
initiateLogin(): Promise<void>;
private initiateSAMLLogin;
private initiateOAuth2Login;
private initiateOIDCLogin;
handleCallback(params: URLSearchParams): Promise<UserProfile | null>;
private handleSAMLCallback;
private handleOAuthCallback;
private generateSAMLRequest;
private parseSAMLResponse;
private generateState;
private validateState;
private exchangeCodeForToken;
private getUserProfile;
private validateToken;
private setupTokenRefresh;
private refreshToken;
logout(): void;
getCurrentUser(): UserProfile | null;
isAuthenticated(): boolean;
}