diff --git a/documentation/TABLEOFCONTENTS.md b/documentation/TABLEOFCONTENTS.md index 9e6769e..2375f31 100644 --- a/documentation/TABLEOFCONTENTS.md +++ b/documentation/TABLEOFCONTENTS.md @@ -5,6 +5,7 @@ ## Authentication & Users - **Plex OAuth, JWT sessions, RBAC** → [backend/services/auth.md](backend/services/auth.md) - **Local admin authentication, password change** → [backend/services/auth.md](backend/services/auth.md) +- **Admin-generated login token per user (URL-login)** → [backend/services/auth.md](backend/services/auth.md) - **Route protection, auth guards** → [frontend/routing-auth.md](frontend/routing-auth.md) - **Login page UI/UX** → [frontend/pages/login.md](frontend/pages/login.md) diff --git a/documentation/backend/services/auth.md b/documentation/backend/services/auth.md index 62d8878..5011789 100644 --- a/documentation/backend/services/auth.md +++ b/documentation/backend/services/auth.md @@ -249,6 +249,13 @@ oidc.admin_claim_value = 'readmeabook-admin' - **Admin Settings:** OIDC section in `/admin/settings` (auth tab) - **Library:** `openid-client` (OIDC discovery, token exchange, PKCE) +## Admin-Generated Login Token + +- Login token stored as SHA-256 hash in `User.loginTokenHash` +- Admin generates/revokes via user permissions modal +- User login with token `/auth/token/login?token=rmab_...` +- Invalid token redirects to `/login` + ## Security - Never log tokens