UNPKG

@ssplib/react-components

Version:
41 lines (40 loc) 1.64 kB
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 {};