import { UserManagerSettings } from 'oidc-client'; /** * Configurações de gerenciamento de sessão e token */ export interface IAuthSettings extends UserManagerSettings { /** * Endpoint de autorização */ authority: string; /** * identificador da aplicação registrada no provedor OIDC/OAuth2 */ client_id: string; /** * A URL da aplicação após receber resposta do provedor OIDC/OAuth2 */ redirect_uri: string; /** * A URL redirecionada após logout */ post_logout_redirect_uri: string; /** * Tipo de resposta */ response_type: string; /** * Escopo */ scope: string; /** * Flag que controla se dados adicionais do usuário são carregados no profile */ loadUserInfo: boolean; /** * URL da página que contém a lógica para a renovação automática */ silent_redirect_uri: string; /** * Flag para indicar se deve haver uma tentativa automática de renovar o token de acesso antes de sua expiração * A tentativa é feita como resultado do evento accessTokenExpiring sendo gerado */ automaticSilentRenew: boolean; /** * O número de segundos antes de um token de acesso expirar para disparar * o evento accessTokenExpiring */ accessTokenExpiringNotificationTime?: number; /** * Revogará o token de acesso ao realizar logout */ revokeAccessTokenOnSignout: boolean; /** * Dispara eventos quando o usuário realiza signout */ monitorSession: boolean; /** * Permite que as declarações do protocolo OIDC estejam visíveis */ filterProtocolClaims: boolean; /** * Storage utilizado para persistir o usuário autenticado * Ex: userStore: new WebStorageStateStore({ store: window.localStorage }) */ userStore?: any; /** * Indica que o serviço de autenticação não deve inicializar o usuário ao ser construido */ initLazy?: boolean; /** * Intervalo de verificação de validade da sessão do usuário */ checkSessionInterval?: number; /** * Mapeador de informações que se deseja extrair do token e colocar no atributo profile */ extractFromTokenToUserProfile?: { from: string; to: (value: any) => { [key: string]: any; }; }[]; }