Class AuthSettings

java.lang.Object
br.com.xadm.comum.seguranca.AuthSettings

@ConfigurationProperties("auth") public class AuthSettings extends Object
Configurações de autenticação mapeadas do bloco auth: em application.yml.

"Auth configurado" ≡ firebaseProjectId, firebaseApiKey, firebaseAuthDomain, firebaseAppId e sessionSecret todos preenchidos. Com qualquer um vazio, o AuthFilter entra em bypass (dev/test) ou fail-closed (produção).

Envs mapeadas:

  • AUTH_FIREBASE_PROJECT_ID — ex.: xadm-6ab81
  • AUTH_FIREBASE_API_KEY — Web API key (público; vai no HTML)
  • AUTH_FIREBASE_AUTH_DOMAIN — ex.: xadm-6ab81.firebaseapp.com
  • AUTH_FIREBASE_APP_ID — Web app ID (público)
  • AUTH_SESSION_SECRET — segredo HS256 da sessão (mín. 32 chars)
  • AUTH_SESSION_TTL_SECONDS — TTL do cookie de sessão (default 28800 = 8h)
  • AUTH_COOKIE_SECURE — flag Secure do cookie (default true)
  • AUTH_XADM_EMAIL_DOMAIN — domínio aceito (default xadm.com.br)
  • Field Details

  • Constructor Details

    • AuthSettings

      public AuthSettings()
  • Method Details

    • getFirebaseProjectId

      public String getFirebaseProjectId()
      Returns o firebase-project-id configurado, ou string vazia se ausente.
      Returns:
      o firebase-project-id configurado, ou string vazia se ausente
    • setFirebaseProjectId

      public void setFirebaseProjectId(String v)
      Define o firebase-project-id. @param v valor configurado.
    • getFirebaseApiKey

      public String getFirebaseApiKey()
      Returns a Web API key do Firebase (público; vai no HTML).
      Returns:
      a Web API key do Firebase (público; vai no HTML)
    • setFirebaseApiKey

      public void setFirebaseApiKey(String v)
      Define a Web API key do Firebase. @param v valor configurado.
    • getFirebaseAuthDomain

      public String getFirebaseAuthDomain()
      Returns o auth-domain do Firebase.
      Returns:
      o auth-domain do Firebase
    • setFirebaseAuthDomain

      public void setFirebaseAuthDomain(String v)
      Define o auth-domain do Firebase. @param v valor configurado.
    • getFirebaseAppId

      public String getFirebaseAppId()
      Returns o Web app ID do Firebase (público).
      Returns:
      o Web app ID do Firebase (público)
    • setFirebaseAppId

      public void setFirebaseAppId(String v)
      Define o Web app ID do Firebase. @param v valor configurado.
    • getSessionSecret

      public String getSessionSecret()
      Returns o segredo HS256 da sessão (mínimo 32 chars).
      Returns:
      o segredo HS256 da sessão (mínimo 32 chars)
    • setSessionSecret

      public void setSessionSecret(String v)
      Define o segredo HS256 da sessão. @param v valor configurado.
    • getSessionTtlSeconds

      public int getSessionTtlSeconds()
      Returns o TTL do cookie de sessão em segundos (default 28800 = 8h).
      Returns:
      o TTL do cookie de sessão em segundos (default 28800 = 8h)
    • setSessionTtlSeconds

      public void setSessionTtlSeconds(int v)
      Define o TTL do cookie de sessão em segundos. @param v valor configurado.
    • isCookieSecure

      public boolean isCookieSecure()
      Returns se o cookie deve ter a flag Secure (default true).
      Returns:
      se o cookie deve ter a flag Secure (default true)
    • setCookieSecure

      public void setCookieSecure(boolean v)
      Define a flag Secure do cookie. @param v valor configurado.
    • getXadmEmailDomain

      public String getXadmEmailDomain()
      Returns o domínio de email aceito no login (default xadm.com.br).
      Returns:
      o domínio de email aceito no login (default xadm.com.br)
    • setXadmEmailDomain

      public void setXadmEmailDomain(String v)
      Define o domínio de email aceito. @param v valor configurado.
    • getIssuer

      public String getIssuer()
      Returns o issuer (iss) do JWT de sessão.. Env AUTH_ISSUER. Identifica o app emissor — config por-app (a lib não fixa o tenant); antes hardcoded por cópia (ex.: bi-comercial-xls). Consumido pelo SessionTokenService ao emitir e verificar.
      Returns:
      o issuer (iss) do JWT de sessão
    • setIssuer

      public void setIssuer(String v)
      Define o issuer do JWT de sessão (por-app). @param v valor configurado.
    • isConfigured

      public boolean isConfigured()
      True quando as cinco propriedades obrigatórias do login (Firebase + segredo de sessão) estão preenchidas — i.e. a auth das views está ligada. Fonte única do predicado "auth configurada?", consumido por ViewSecurityRule, ViewRejectionHandler e GlobalViewModel (antes recomputado em cada um; divergir arriscava postura fail-closed inconsistente).
      Returns:
      true se as 5 envs obrigatórias estão preenchidas