feat(molde): frontendUrl no realm do tenant

Sem ele o Keycloak monta os links e o iss com o KC_HOSTNAME global
(auth-plataforma), e os runtimes do tenant validam contra ATM_ISSUER, que o
molde define como auth.athleticmap.com. Os dois tem de bater.

Nao da para resolver so no KC_HOSTNAME porque ele e um so e a plataforma
depende do valor antigo. Dai o frontendUrl por realm, que e para isto.
This commit is contained in:
deploy
2026-09-24 23:10:49 +00:00
parent 7090f2a1b3
commit 51072c153e
2 changed files with 21 additions and 0 deletions
+18
View File
@@ -51,3 +51,21 @@ no momento de criar o realm, a partir da configuracao do servico — o realm e
criado pela API, e nao commitado. Um `{{SMTP_SENHA}}` literal que chegasse ao
Gitea seria um segredo versionado, que e exatamente o que a regra do repositorio
proibe.
── O `frontendUrl`, E POR QUE ELE NAO E OPCIONAL ───────────────────────────
`https://auth.athleticmap.com` — o host de autenticacao DOS TENANTS.
Sem ele o Keycloak monta os links (e o `iss` do token) com o `KC_HOSTNAME`
global, que e `auth-plataforma.athleticmap.com`. E os runtimes do tenant
validam contra `ATM_ISSUER`, que o molde consolidado define como
`https://auth.athleticmap.com/realms/{{REALM}}`.
Os dois TEM de bater. Quando nao batiam, em 2026-09-24, o login do primeiro
tenant provisionado morria antes de comecar: a SPA redirecionava para um host
sem certificado e sem rota, e mesmo passando por cima o token seria recusado
pelos runtimes.
Nao da para resolver so no `KC_HOSTNAME` porque ele e um so, e a plataforma
depende do valor antigo — os servicos dela estao configurados com
`auth-plataforma`. Dai o `frontendUrl` por realm, que e exatamente para isto.
+3
View File
@@ -71,6 +71,9 @@
]
}
],
"attributes": {
"frontendUrl": "https://auth.athleticmap.com"
},
"smtpServer": {
"host": "{{SMTP_HOST}}",
"port": "{{SMTP_PORTA}}",