aboutsummaryrefslogtreecommitdiff
path: root/public/admin.js
diff options
context:
space:
mode:
authordax <me@dax.ist>2026-08-05 17:52:07 +0100
committerdax <me@dax.ist>2026-08-05 17:52:07 +0100
commitd2a8b2abc908311fc249454086d0d0eacfe861e1 (patch)
tree513532ac99400e0e3e7c94e40e04c9e1d7e4837b /public/admin.js
parent70ce625487b5e0b7540b70de2ae59f0086134a9e (diff)
admin auth: fixed pathways-admin username shown in setup/login so browser saves password; server verifies username
Diffstat (limited to 'public/admin.js')
-rw-r--r--public/admin.js7
1 files changed, 5 insertions, 2 deletions
diff --git a/public/admin.js b/public/admin.js
index 0540236..90dd6b0 100644
--- a/public/admin.js
+++ b/public/admin.js
@@ -385,13 +385,14 @@ async function init() {
$("#setup-form").addEventListener("submit", async (e) => {
e.preventDefault()
const err = $("#setup-err")
+ const user = $("#setup-user").value.trim() || "pathways-admin"
const pw = $("#setup-pw").value
const pw2 = $("#setup-pw2").value
err.textContent = ""
if (pw.length < 8) { err.textContent = "password must be at least 8 characters"; return }
if (pw !== pw2) { err.textContent = "passwords don't match"; return }
try {
- await api("/api/admin/setup", { method: "POST", body: JSON.stringify({ password: pw }), headers: { "Content-Type": "application/json" } })
+ await api("/api/admin/setup", { method: "POST", body: JSON.stringify({ username: user, password: pw }), headers: { "Content-Type": "application/json" } })
toast("password set — sign in")
$("#setup-pw").value = ""
$("#setup-pw2").value = ""
@@ -404,8 +405,10 @@ async function init() {
const err = $("#login-err")
err.textContent = ""
try {
- const data = await api("/api/admin/login", { method: "POST", body: JSON.stringify({ password: $("#login-pw").value, remember: $("#login-remember").checked }), headers: { "Content-Type": "application/json" } })
+ const user = $("#login-user").value.trim() || "pathways-admin"
+ const data = await api("/api/admin/login", { method: "POST", body: JSON.stringify({ username: user, password: $("#login-pw").value, remember: $("#login-remember").checked }), headers: { "Content-Type": "application/json" } })
setToken(data.token, !!data.remember)
+ $("#dash-user").textContent = user
$("#login-pw").value = ""
await enterDash()
} catch (err2) { errInto(err, err2) }