chore(tenants): conteudo de publico/ atualizado
This commit is contained in:
@@ -3782,7 +3782,7 @@ data:
|
||||
|
||||
</main>
|
||||
|
||||
<script src="/publico/painel.js?v=2.90"></script>
|
||||
<script src="/publico/painel.js?v=2.91"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3940,7 +3940,9 @@ data:
|
||||
function usarTokens(d) {
|
||||
if (!d || !d.access_token) throw new Error("resposta sem token");
|
||||
cred = { tipo: "login", acesso: d.access_token,
|
||||
renovacao: d.refresh_token || (cred && cred.renovacao) || null };
|
||||
renovacao: d.refresh_token || (cred && cred.renovacao) || null,
|
||||
// So para o "Sair" (id_token_hint): sem ele o Keycloak pede confirmacao numa tela fora do padrao.
|
||||
identidade: d.id_token || (cred && cred.identidade) || null };
|
||||
agendarRenovacao(Number(d.expires_in));
|
||||
}
|
||||
|
||||
@@ -4031,13 +4033,33 @@ data:
|
||||
naPorta("A sessão expirou. Entre de novo.");
|
||||
}
|
||||
|
||||
/* Saida por POST (07/10/2026): com o `id_token_hint` o Keycloak encerra a sessao sem a tela de
|
||||
confirmacao. Vai no CORPO de um formulario, e nao na URL, para o token nao ficar no historico do
|
||||
navegador nem em log de acesso. Exige `form-action` com o emissor na CSP do /painel-do-dono. */
|
||||
function sairPorFormulario(identidade) {
|
||||
if (typeof window.__atmSairPorFormulario === "function") { window.__atmSairPorFormulario(identidade); return; }
|
||||
var f = document.createElement("form");
|
||||
f.method = "POST";
|
||||
f.action = OIDC.EMISSOR + "/protocol/openid-connect/logout";
|
||||
var campos = { client_id: OIDC.CLIENTE, post_logout_redirect_uri: retorno(), id_token_hint: identidade };
|
||||
Object.keys(campos).forEach(function (k) {
|
||||
var i = document.createElement("input");
|
||||
i.type = "hidden"; i.name = k; i.value = campos[k];
|
||||
f.appendChild(i);
|
||||
});
|
||||
document.body.appendChild(f);
|
||||
f.submit();
|
||||
}
|
||||
|
||||
function sairDoLogin() {
|
||||
var identidade = cred && cred.identidade;
|
||||
cred = null;
|
||||
pararRenovacao();
|
||||
esquecerSessao();
|
||||
// Encerra tambem a sessao NO KEYCLOAK: limpar so daqui deixaria o proximo
|
||||
// "Entrar" passar direto, e quem clicou em sair esperava o contrario.
|
||||
// Sem `id_token_hint` (seria token na URL): o Keycloak pede confirmacao.
|
||||
if (identidade) { sairPorFormulario(identidade); return; }
|
||||
// Sem id_token (nao deveria acontecer com o login): o Keycloak pede confirmacao.
|
||||
navegar(OIDC.EMISSOR + "/protocol/openid-connect/logout?" + new URLSearchParams({
|
||||
client_id: OIDC.CLIENTE, post_logout_redirect_uri: retorno() }).toString());
|
||||
}
|
||||
@@ -4971,7 +4993,8 @@ data:
|
||||
}
|
||||
|
||||
function negar() {
|
||||
cred = null; // o token dessa conta nao serve a esta tela
|
||||
// O token dessa conta nao serve a esta tela; fica so o id_token, para o "Sair" encerrar sem confirmacao.
|
||||
cred = cred && cred.identidade ? { tipo: "saida", identidade: cred.identidade } : null;
|
||||
pararRenovacao();
|
||||
esquecerSessao();
|
||||
mostrar(negado);
|
||||
|
||||
@@ -3782,7 +3782,7 @@ data:
|
||||
|
||||
</main>
|
||||
|
||||
<script src="/publico/painel.js?v=2.90"></script>
|
||||
<script src="/publico/painel.js?v=2.91"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3940,7 +3940,9 @@ data:
|
||||
function usarTokens(d) {
|
||||
if (!d || !d.access_token) throw new Error("resposta sem token");
|
||||
cred = { tipo: "login", acesso: d.access_token,
|
||||
renovacao: d.refresh_token || (cred && cred.renovacao) || null };
|
||||
renovacao: d.refresh_token || (cred && cred.renovacao) || null,
|
||||
// So para o "Sair" (id_token_hint): sem ele o Keycloak pede confirmacao numa tela fora do padrao.
|
||||
identidade: d.id_token || (cred && cred.identidade) || null };
|
||||
agendarRenovacao(Number(d.expires_in));
|
||||
}
|
||||
|
||||
@@ -4031,13 +4033,33 @@ data:
|
||||
naPorta("A sessão expirou. Entre de novo.");
|
||||
}
|
||||
|
||||
/* Saida por POST (07/10/2026): com o `id_token_hint` o Keycloak encerra a sessao sem a tela de
|
||||
confirmacao. Vai no CORPO de um formulario, e nao na URL, para o token nao ficar no historico do
|
||||
navegador nem em log de acesso. Exige `form-action` com o emissor na CSP do /painel-do-dono. */
|
||||
function sairPorFormulario(identidade) {
|
||||
if (typeof window.__atmSairPorFormulario === "function") { window.__atmSairPorFormulario(identidade); return; }
|
||||
var f = document.createElement("form");
|
||||
f.method = "POST";
|
||||
f.action = OIDC.EMISSOR + "/protocol/openid-connect/logout";
|
||||
var campos = { client_id: OIDC.CLIENTE, post_logout_redirect_uri: retorno(), id_token_hint: identidade };
|
||||
Object.keys(campos).forEach(function (k) {
|
||||
var i = document.createElement("input");
|
||||
i.type = "hidden"; i.name = k; i.value = campos[k];
|
||||
f.appendChild(i);
|
||||
});
|
||||
document.body.appendChild(f);
|
||||
f.submit();
|
||||
}
|
||||
|
||||
function sairDoLogin() {
|
||||
var identidade = cred && cred.identidade;
|
||||
cred = null;
|
||||
pararRenovacao();
|
||||
esquecerSessao();
|
||||
// Encerra tambem a sessao NO KEYCLOAK: limpar so daqui deixaria o proximo
|
||||
// "Entrar" passar direto, e quem clicou em sair esperava o contrario.
|
||||
// Sem `id_token_hint` (seria token na URL): o Keycloak pede confirmacao.
|
||||
if (identidade) { sairPorFormulario(identidade); return; }
|
||||
// Sem id_token (nao deveria acontecer com o login): o Keycloak pede confirmacao.
|
||||
navegar(OIDC.EMISSOR + "/protocol/openid-connect/logout?" + new URLSearchParams({
|
||||
client_id: OIDC.CLIENTE, post_logout_redirect_uri: retorno() }).toString());
|
||||
}
|
||||
@@ -4971,7 +4993,8 @@ data:
|
||||
}
|
||||
|
||||
function negar() {
|
||||
cred = null; // o token dessa conta nao serve a esta tela
|
||||
// O token dessa conta nao serve a esta tela; fica so o id_token, para o "Sair" encerrar sem confirmacao.
|
||||
cred = cred && cred.identidade ? { tipo: "saida", identidade: cred.identidade } : null;
|
||||
pararRenovacao();
|
||||
esquecerSessao();
|
||||
mostrar(negado);
|
||||
|
||||
Reference in New Issue
Block a user