From 5b21aaacee631dc4906e76d77a1e0e4f432cc767 Mon Sep 17 00:00:00 2001
From: rudrabjoshi
Date: Wed, 19 Aug 2026 20:19:31 -0700
Subject: [PATCH 1/3] Add OAuth + student ID verified password reset flow
New /support page: a topic list (currently just "Password Reset") that
deep-links via ?topic=reset straight into a "Let's Reset Your Password"
wizard, skipping the topic list -- used by "Forgot your password?" links
elsewhere so /support can grow to cover more than password reset later
without adding friction. The wizard animates through GitHub ID entry ->
school Google OAuth sign-in -> new password, calling the new Spring
OAuth-verified reset endpoints (/mvc/person/reset/oauth/verify,
/mvc/person/reset/oauth/complete). The Google ID token is only relayed
raw to the backend; the digit-match/identity check happens server-side,
not in this client code.
login.md: "Forgot your password?" now links to /support?topic=reset
instead of an embedded reset panel on the login page itself.
profile.html: removed the old "New Password" field, which let a logged-in
user overwrite their password with zero verification (no current-password
check, no reset token). Replaced with a "Forgot your password?" link into
the same verified reset flow. Cleaned up saveChanges()'s now-dead
password-save branch and the logout alert text that referenced it.
Co-Authored-By: Claude Sonnet 5
---
_layouts/profile.html | 31 +--
navigation/authentication/login.md | 3 +
navigation/authentication/support.md | 329 +++++++++++++++++++++++++++
3 files changed, 335 insertions(+), 28 deletions(-)
create mode 100644 navigation/authentication/support.md
diff --git a/_layouts/profile.html b/_layouts/profile.html
index b19f08810..49cb09a16 100644
--- a/_layouts/profile.html
+++ b/_layouts/profile.html
@@ -58,11 +58,8 @@
// handle reload or logout if needed
if (needsLogout) {
- alert("you updated your github id or password, so you will be logged out. remember your new credentials!");
+ alert("you updated your github id, so you will be logged out. remember your new credentials!");
window.location.href = '{{site.baseurl}}';
} else if (needsReload) {
window.location.reload();
diff --git a/navigation/authentication/login.md b/navigation/authentication/login.md
index 296da6aed..8ecbd8130 100644
--- a/navigation/authentication/login.md
+++ b/navigation/authentication/login.md
@@ -25,6 +25,9 @@ show_reading_time: false