All Classes and Interfaces

Class
Description
Exceção de autenticação com code estável — ex.: "invalid_token", "invalid_session", "jwks_unavailable", "csrf_mismatch", "domain_not_allowed".
Configurações de autenticação mapeadas do bloco auth: em application.yml.
Contrato estável de autenticação das views: os atributos de request que o SessionAuthenticationFetcher popula após validar a sessão e que GlobalViewModel e CsrfTokens leem, o nome do cookie de sessão, e helpers idênticos entre apps.
Guarda de boot do Bearer inbound: app.api-token declarado e vazio recusa o boot.
Token CSRF dos forms de view.
Valida Firebase ID Tokens via JWKS público do Google.
Claims extraídos de um Firebase ID Token válido.
 
Cosméticos da tela de login servida pela lib (xadm/login.jte) — namespace xadm.views.login.*, estendendo o xadm.views.* que o XadmViewModel já usa.
Perfis efetivos do Micronaut.
AuthenticationFetcher nativo das views: lê o cookie xadm_session (JWT HS256 emitido pelo SessionTokenService) e, se válido, devolve uma Authentication com o papel ROLE_VIEW.
Emite e verifica JWTs HS256 usados como cookie de sessão das views.
Claims de uma sessão válida.
Faz valer o "só-leitura" do principal de smoke: uma sessão com o papel SessionAuthenticationFetcher.ROLE_SMOKE só pode usar métodos seguros (GET/HEAD/OPTIONS); qualquer escrita vira 403 em RFC-7807.
Seam do smoke de produção: troca uma credencial dedicada por um cookie de sessão, sem a dança do provedor.
Valida o Bearer token estático configurado em app.api-token (API_BEARER_TOKEN).
Fluxo de login Google (Firebase) das views X-Adm, COMPARTILHADO — restrito a emails do domínio configurado (spec 006).
Body do POST /login/callback.
Rate limit COMPARTILHADO dos endpoints públicos que emitem sessão (piso de segurança): no máximo auth.login-rate-limit-per-minute (default 60) tentativas por IP por janela no POST /login/** e no POST /smoke/**.
ViewModelProcessor de referência da casa: injeta em TODO model de view server-render os globais que o kit/layout.jte (decisão 0025) espera — identidade da casa (appNome/clienteXadm), sessão (currentUserEmail/currentUserName/ csrfToken, dos atributos populados pelo SessionAuthenticationFetcher), authEnabled (do AuthSettings, controla o bloco "Sair" do navbar) e appVersao (de VersaoInfo.versaoAtual() — o kit/headerRight.jte já renderiza a chave sob @if(appVersao != null), e a lib já tem o valor; app que escreve um processor local para isso está buscando o que a lib já sabe).