session lifetime

This commit is contained in:
Mateusz Gruszczyński
2026-07-22 23:49:16 +02:00
parent e998a38e49
commit 3ed74b1eac
20 changed files with 262 additions and 74 deletions
+3 -3
View File
@@ -2,7 +2,7 @@ import { installGlobalDiagnostics, logInfo } from "./logger.js";
installGlobalDiagnostics();
import { bindIdentityDialog, handleAccountConfirmationToken, handleResetToken, logoutCurrentSession, validateCurrentSession } from "./auth-ui.js";
import { getAuthToken } from "@rustpad/session";
import { getAuthToken, setAccessToken } from "@rustpad/session";
import { api } from "@rustpad/api";
function slugify(value, fallback) {
@@ -50,7 +50,7 @@ document.querySelector("#pad-form").addEventListener("submit", async (event) =>
const payload = { name: name.value.trim() };
if (password.value) payload.password = password.value;
const result = await api("/api/pads", { method: "POST", headers: authHeaders(), body: JSON.stringify(payload) });
if (password.value) sessionStorage.setItem(`rustpad:pad:${result.slug}:password`, password.value);
if (password.value) { const grant = await api("/api/access-token", { method: "POST", body: JSON.stringify({ kind: "pad", slug: result.slug, password: password.value }) }); setAccessToken("pad", result.slug, grant.access_token); }
window.location.assign(`${result.url}?view=split&mode=markdown`);
} catch (requestError) {
error.textContent = requestError.message;
@@ -71,7 +71,7 @@ document.querySelector("#workspace-form").addEventListener("submit", async (even
const payload = { name: name.value.trim() };
if (password.value) payload.password = password.value;
const result = await api("/api/workspaces", { method: "POST", headers: authHeaders(), body: JSON.stringify(payload) });
if (password.value) sessionStorage.setItem(`rustpad:workspace:${result.slug}:password`, password.value);
if (password.value) { const grant = await api("/api/access-token", { method: "POST", body: JSON.stringify({ kind: "workspace", slug: result.slug, password: password.value }) }); setAccessToken("workspace", result.slug, grant.access_token); }
window.location.assign(result.url);
} catch (requestError) {
error.textContent = requestError.message;