diff --git a/CHANGELOG.md b/CHANGELOG.md index 48069418..175bd79d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed +- Added dialog when no authentication provider is configured. [#744](https://github.com/sourcebot-dev/sourcebot/pull/744) + ## [4.10.11] - 2026-01-16 ### Fixed diff --git a/packages/web/src/app/components/authMethodSelector.tsx b/packages/web/src/app/components/authMethodSelector.tsx index 540d8b0a..8e7bf5ab 100644 --- a/packages/web/src/app/components/authMethodSelector.tsx +++ b/packages/web/src/app/components/authMethodSelector.tsx @@ -9,6 +9,7 @@ import { DividerSet } from "@/app/components/dividerSet"; import { ProviderButton } from "@/app/components/providerButton"; import { AuthSecurityNotice } from "@/app/components/authSecurityNotice"; import type { IdentityProviderMetadata } from "@/lib/identityProviders"; +import Link from "next/link"; interface AuthMethodSelectorProps { providers: IdentityProviderMetadata[]; @@ -44,6 +45,15 @@ export const AuthMethodSelector = ({ const hasCredentials = providers.some(p => p.purpose === "sso" && p.id === "credentials"); const hasMagicLink = providers.some(p => p.purpose === "sso" && p.id === "nodemailer"); + if (oauthProviders.length === 0 && !hasCredentials && !hasMagicLink) { + return ( +
+

No authentication methods available. Please contact your administrator to configure authentication.

+ Learn more +
+ ) + } + return ( <>