Skip to content

Commit ff6f178

Browse files
committed
Preserve logout result after redirect
1 parent 8b82a59 commit ff6f178

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

app.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,16 +246,28 @@ def post_token_action(endpoint_name, fallback_path, token):
246246
byId("logout").addEventListener("click", async () => {
247247
const params = new URLSearchParams({ post_logout_redirect_uri: window.location.origin });
248248
if (state.idToken) params.set("id_token_hint", state.idToken);
249+
let logoutResult = "Kein Access Token vorhanden; nur Logto-Browsersitzung beendet.";
249250
if (state.accessToken) {
250251
try {
251-
show("logout-result", await postJson("/api/logout", { token: state.accessToken }));
252+
logoutResult = await postJson("/api/logout", { token: state.accessToken });
252253
} catch (error) {
253-
show("logout-result", `Revocation fehlgeschlagen: ${error.message}`);
254+
logoutResult = `Revocation fehlgeschlagen: ${error.message}`;
254255
}
255256
}
257+
show("logout-result", logoutResult);
258+
sessionStorage.setItem("logoutResult", JSON.stringify(logoutResult));
256259
window.location.href = `${ISSUER}/session/end?${params.toString()}`;
257260
});
258261
262+
const savedLogoutResult = sessionStorage.getItem("logoutResult");
263+
if (savedLogoutResult) {
264+
try {
265+
show("logout-result", JSON.parse(savedLogoutResult));
266+
} finally {
267+
sessionStorage.removeItem("logoutResult");
268+
}
269+
}
270+
259271
const query = new URLSearchParams(window.location.search);
260272
const code = query.get("code");
261273
if (code) {

0 commit comments

Comments
 (0)