docs: document OIDC first-user auto-admin behavior (#3292)#3293
Conversation
The first OIDC user to log in is auto-promoted to admin (bootstrap added in 2a06f3b for #2749 to avoid lockout when local auth is disabled). The previous docs claimed SSO never elevates privileges, which is no longer accurate. Clarify that the first OIDC user gets admin while all subsequent OIDC users are regular accounts, and note that "first OIDC user" is independent of any existing local accounts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @Yeraze's task —— View job PR Review Complete ✅I've thoroughly reviewed this documentation update for OIDC first-user auto-admin behavior. Here's my comprehensive feedback: Review Tasks:
🟢 Overall Assessment: APPROVEDThis is an excellent documentation fix that addresses a critical gap between implementation and documentation. The changes are accurate, well-written, and appropriately address security concerns. ✅ Strengths1. Technical Accuracy
2. Security Awareness
3. Clarity and Completeness
🔧 Code QualityDocumentation Standards: ✅
Implementation Verification: ✅
🛡️ Security ConsiderationsPositive Security Aspects:
No Security Concerns: The documented behavior is intentional and necessary for preventing administrative lockout scenarios. 📋 Minor Suggestions (Optional)
🎯 SummaryThis PR successfully addresses issue #3292 by documenting behavior that was implemented but undocumented. The change:
Recommendation: MERGE - This is a valuable documentation improvement with no drawbacks. Files Changed: |
Summary
Fixes #3292. The
docs/configuration/sso.md"Admin Privileges" section claimed OIDC login never elevates privileges, but since commit2a06f3b8(issue #2749) the first OIDC user to log in is auto-promoted to admin to avoid locking out a deployment when local auth is disabled.Changes
authMethod = 'oidc', independent of any existing local accounts (e.g. the built-inadmin).Verification
Behavior confirmed against
src/server/auth/oidcAuth.ts:247-289:isFirstOidcUser = !allUsersForBootstrap.some(u => u.authMethod === 'oidc')drivesisAdminand full-permission grant.Docs-only change.
🤖 Generated with Claude Code