feat(auth): add OpenID Connect SSO login support#55
Open
jpoegs wants to merge 1 commit intorustfs:mainfrom
Open
feat(auth): add OpenID Connect SSO login support#55jpoegs wants to merge 1 commit intorustfs:mainfrom
jpoegs wants to merge 1 commit intorustfs:mainfrom
Conversation
Add OIDC browser-based SSO login flow to the console: - OIDC library (lib/oidc.ts): fetch providers, initiate login, parse callback - OIDC callback page: parses STS credentials from URL fragment - Login form: renders SSO provider buttons with "Or continue with" divider - Auth context: new loginWithStsCredentials method for direct STS login - Config types: OidcProvider interface and oidc field on SiteConfig - i18n: English translations for SSO-related strings
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add OIDC browser-based SSO login flow to the RustFS console. When the RustFS server has OIDC providers configured, the login page renders SSO buttons that redirect users to their identity provider (Okta, Azure AD, Keycloak, Authentik, etc.) for authentication. After successful authentication, the IdP redirects back to the console callback page with STS credentials in the URL fragment.
Type of Change
Testing
Checklist
pnpm tsc --noEmitpasses with zero errorspnpm lintpasses (0 errors)pnpm prettier --check .passesRelated Issues
Companion PR to rustfs/rustfs#1875 (OIDC server-side support)
Screenshots
N/A — SSO buttons only render when server has OIDC providers configured.
Additional Notes
New files:
lib/oidc.ts— OIDC client library (fetch providers, initiate login, parse callback)app/(auth)/auth/oidc-callback/page.tsx— Callback page that parses STS credentials from URL fragmentModified files:
components/auth/login-form.tsx— SSO provider buttons with "Or continue with" dividerapp/(auth)/auth/login/page.tsx— Fetches OIDC providers, wires up login handlercontexts/auth-context.tsx— NewloginWithStsCredentialsmethodcomponents/user/dropdown.tsx— Simplified user display name logictypes/config.d.ts—OidcProvidertype andoidcfield onSiteConfigi18n/locales/en-US.json— SSO-related translation stringsCLA: I have read and agree to the Contributor License Agreement.