@ssplib/react-components
Version:
SSP React Components
41 lines (40 loc) • 1.64 kB
TypeScript
import React from 'react';
import { User } from '../../types/auth';
export declare const cookieName = "nextauth.token";
interface KeycloakAuthProviderProps {
/** URL do servidor Keycloak */
url: string;
/** Realm do Keycloak */
realm: string;
/** Client ID registrado no Keycloak */
clientId: string;
/** Componentes filhos */
children: React.ReactNode;
/** Tipo de autenticação */
type?: 'govbr' | 'ad';
/** Nome do recurso para extrair roles */
resource_name?: string;
/** Base path da aplicação (ex: '/revidf'). Deixe vazio ou '/' para raiz */
basePath?: string;
/** URL de redirecionamento após login */
redirectUri?: string;
/** Callback executado quando autenticação é bem-sucedida */
onAuthSuccess?: (user: User) => void;
/** Callback executado quando autenticação falha */
onAuthError?: (error: Error) => void;
/** Callback executado quando logout é concluído com sucesso (após o redirect de volta) */
onLogoutSuccess?: () => void;
/** Habilita logs de debug (apenas em desenvolvimento) */
enableDebugLogs?: boolean;
}
/**
* Provider de autenticação Keycloak
*
* Gerencia todo o fluxo de autenticação incluindo:
* - Inicialização e verificação de SSO
* - Renovação automática de tokens
* - Login e logout com callbacks personalizáveis
* - Verificação de roles
*/
export declare function KeycloakAuthProvider({ url, realm, clientId, children, type, resource_name, basePath, redirectUri, onAuthSuccess, onAuthError, onLogoutSuccess, enableDebugLogs, }: KeycloakAuthProviderProps): JSX.Element;
export {};