Class AuthSettings
java.lang.Object
br.com.xadm.comum.seguranca.AuthSettings
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-6ab81AUTH_FIREBASE_API_KEY— Web API key (público; vai no HTML)AUTH_FIREBASE_AUTH_DOMAIN— ex.:xadm-6ab81.firebaseapp.comAUTH_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— flagSecuredo cookie (defaulttrue)AUTH_XADM_EMAIL_DOMAIN— domínio aceito (defaultxadm.com.br)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a Web API key do Firebase (público; vai no HTML).Returns o Web app ID do Firebase (público).Returns oauth-domaindo Firebase.Returns a URL do JWKS do Firebase, ou string vazia p/ usar o default do Google.Returns ofirebase-project-idconfigurado, ou string vazia se ausente.Returns o issuer (iss) do JWT de sessão.Returns o segredo HS256 da sessão (mínimo 32 chars).intReturns o TTL do cookie de sessão em segundos (default28800= 8h).Returns o domínio de email aceito no login (defaultxadm.com.br).booleanTrue quando as cinco propriedades obrigatórias do login (Firebase + segredo de sessão) estão preenchidas — i.e.booleanReturns se o cookie deve ter a flagSecure(defaulttrue).voidsetCookieSecure(boolean v) Define a flagSecuredo cookie.voidDefine a Web API key do Firebase.voidDefine o Web app ID do Firebase.voidDefine oauth-domaindo Firebase.voidDefine a URL do JWKS do Firebase (só testes/e2e).voidDefine ofirebase-project-id.voidDefine o issuer do JWT de sessão (por-app).voidDefine o segredo HS256 da sessão.voidsetSessionTtlSeconds(int v) Define o TTL do cookie de sessão em segundos.voidDefine o domínio de email aceito.
-
Field Details
-
PREFIX
-
-
Constructor Details
-
AuthSettings
public AuthSettings()
-
-
Method Details
-
getFirebaseProjectId
Returns ofirebase-project-idconfigurado, ou string vazia se ausente.- Returns:
- o
firebase-project-idconfigurado, ou string vazia se ausente
-
setFirebaseProjectId
Define ofirebase-project-id. @param v valor configurado. -
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
Define a Web API key do Firebase. @param v valor configurado. -
getFirebaseAuthDomain
Returns oauth-domaindo Firebase.- Returns:
- o
auth-domaindo Firebase
-
setFirebaseAuthDomain
Define oauth-domaindo Firebase. @param v valor configurado. -
getFirebaseAppId
Returns o Web app ID do Firebase (público).- Returns:
- o Web app ID do Firebase (público)
-
setFirebaseAppId
Define o Web app ID do Firebase. @param v valor configurado. -
getSessionSecret
Returns o segredo HS256 da sessão (mínimo 32 chars).- Returns:
- o segredo HS256 da sessão (mínimo 32 chars)
-
setSessionSecret
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 (default28800= 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 flagSecure(defaulttrue).- Returns:
- se o cookie deve ter a flag
Secure(defaulttrue)
-
setCookieSecure
public void setCookieSecure(boolean v) Define a flagSecuredo cookie. @param v valor configurado. -
getXadmEmailDomain
Returns o domínio de email aceito no login (defaultxadm.com.br).- Returns:
- o domínio de email aceito no login (default
xadm.com.br)
-
setXadmEmailDomain
Define o domínio de email aceito. @param v valor configurado. -
getIssuer
Returns o issuer (iss) do JWT de sessão.. EnvAUTH_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 peloSessionTokenServiceao emitir e verificar.- Returns:
- o issuer (
iss) do JWT de sessão
-
setIssuer
Define o issuer do JWT de sessão (por-app). @param v valor configurado. -
getFirebaseJwksUrl
Returns a URL do JWKS do Firebase, ou string vazia p/ usar o default do Google.. EnvAUTH_FIREBASE_JWKS_URL. Em produção fica vazia (o validador usa o JWKS público do Google). Existe só para testes/e2e offline repontarem a busca de chaves p/ um JWKS local, sem chamar o Google. Consumido peloFirebaseIdTokenValidator.- Returns:
- a URL do JWKS do Firebase, ou string vazia p/ usar o default do Google
-
setFirebaseJwksUrl
Define a URL do JWKS do Firebase (só testes/e2e). @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 porViewSecurityRule,ViewRejectionHandlereGlobalViewModel(antes recomputado em cada um; divergir arriscava postura fail-closed inconsistente).- Returns:
truese as 5 envs obrigatórias estão preenchidas
-