Class SessionAuthenticationFetcher

java.lang.Object
br.com.xadm.comum.seguranca.SessionAuthenticationFetcher
All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.security.filters.AuthenticationFetcher<io.micronaut.http.HttpRequest<?>>

@Singleton @Requires(property="auth.session-secret", notEquals="") public class SessionAuthenticationFetcher extends Object implements io.micronaut.security.filters.AuthenticationFetcher<io.micronaut.http.HttpRequest<?>>
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. Substitui a parte de autenticação do antigo AuthFilter.

Mantém o contrato dos atributos de request (AuthSupport.AUTH_EMAIL_ATTR etc.) que o GlobalViewModel e o CsrfTokens já consomem — assim a migração do filtro não toca esses dois. Coexiste com o TokenAuthenticationFetcher do Bearer (/api/**): cada fetcher resolve a sua credencial.

Bean condicional: só existe quando auth.session-secret está configurado. Sem ele (dev/test em bypass) não há fetcher — a regra de view libera as views.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Papel atribuído à sessão de view autenticada.

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
    Cria o fetcher de sessão.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.reactivestreams.Publisher<io.micronaut.security.authentication.Authentication>
    fetchAuthentication(io.micronaut.http.HttpRequest<?> request)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.core.order.Ordered

    getOrder
  • Field Details

  • Constructor Details

    • SessionAuthenticationFetcher

      public SessionAuthenticationFetcher(SessionTokenService sessionTokenService, AuthSettings settings)
      Cria o fetcher de sessão.
      Parameters:
      sessionTokenService - serviço de validação do JWT de sessão.
      settings - configurações de auth (segredo usado para derivar o CSRF).
  • Method Details

    • fetchAuthentication

      public org.reactivestreams.Publisher<io.micronaut.security.authentication.Authentication> fetchAuthentication(io.micronaut.http.HttpRequest<?> request)
      Specified by:
      fetchAuthentication in interface io.micronaut.security.filters.AuthenticationFetcher<io.micronaut.http.HttpRequest<?>>