Fixing the OAuth Provider Credentials Gap — v1.0.41
Fixing the OAuth Provider Credentials Gap — v1.0.41
TL;DR: A missing section in
.env.examplemeant that OAuth credentials for Google, GitHub, Microsoft Entra ID, and Okta were never documented. Fresh installs silently fell through to a "No authentication providers configured" dead-end. v1.0.41 fixes this.
What was the problem?
The authentication layer (src/platform/auth/providers.ts) reads up to four OAuth providers from environment variables at startup:
- Google —
AUTH_GOOGLE_ID,AUTH_GOOGLE_SECRET - GitHub —
AUTH_GITHUB_ID,AUTH_GITHUB_SECRET - Microsoft Entra ID —
AUTH_MICROSOFT_ENTRA_ID_ID,AUTH_MICROSOFT_ENTRA_ID_SECRET,AUTH_MICROSOFT_ENTRA_ID_ISSUER - Okta —
AUTH_OKTA_ID,AUTH_OKTA_SECRET,AUTH_OKTA_ISSUER
When none of these variables are set, the sign-in UI component (src/platform/auth/sign-in-buttons.tsx) renders:
No authentication providers configured
Because .env.example contained no OAuth provider section, anyone following the standard setup flow (copy .env.example → fill in values → run the app) would arrive at a completely broken sign-in screen with no indication of what was missing.
What changed in v1.0.41?
An OAuth Providers section has been added to .env.example. It explicitly marks at least one provider as required and documents where to obtain credentials for each supported provider.
Setting up OAuth for a new installation
Step 1 — Choose at least one provider
You must configure at least one OAuth provider. Google is the recommended starting point because it covers the widest range of users and has a straightforward setup flow.
Step 2 — Create OAuth credentials
Google (recommended)
- Go to Google Cloud Console.
- Create or select a project.
- Navigate to APIs & Services → Credentials.
- Click Create Credentials → OAuth 2.0 Client ID.
- Set the authorised redirect URI to:
https://<your-domain>/api/auth/callback/google - Copy the Client ID and Client Secret.
GitHub (optional)
- Go to GitHub → Settings → Developer settings → OAuth Apps.
- Register a new OAuth application.
- Set the callback URL to:
https://<your-domain>/api/auth/callback/github - Copy the Client ID and generate a Client Secret.
Microsoft Entra ID (optional)
- Open the Azure portal and navigate to Entra ID → App registrations.
- Register a new application.
- Add a redirect URI:
https://<your-domain>/api/auth/callback/microsoft-entra-id - Note the Application (client) ID, generate a client secret, and copy the issuer URL from the Endpoints panel (e.g.
https://login.microsoftonline.com/<tenant-id>/v2.0).
Okta (optional)
- In your Okta Admin Console, go to Applications → Create App Integration.
- Choose OIDC – OpenID Connect and Web Application.
- Add the sign-in redirect URI:
https://<your-domain>/api/auth/callback/okta - Copy the Client ID, Client Secret, and your Okta domain (used as the issuer URL, e.g.
https://<your-okta-domain>/oauth2/default).
Step 3 — Populate .env
# ─────────────────────────────────────────────────────────────
# OAuth Providers — at least ONE must be configured
# ─────────────────────────────────────────────────────────────
AUTH_GOOGLE_ID=your-google-client-id
AUTH_GOOGLE_SECRET=your-google-client-secret
# AUTH_GITHUB_ID= # optional
# AUTH_GITHUB_SECRET= # optional
# AUTH_MICROSOFT_ENTRA_ID_ID= # optional
# AUTH_MICROSOFT_ENTRA_ID_SECRET= # optional
# AUTH_MICROSOFT_ENTRA_ID_ISSUER= # optional
# AUTH_OKTA_ID= # optional
# AUTH_OKTA_SECRET= # optional
# AUTH_OKTA_ISSUER= # optional
Step 4 — Restart and verify
After setting the variables, restart your development server. The sign-in page should now display buttons for each provider you have configured. If you still see "No authentication providers configured", double-check that the variable names are spelled correctly and that the environment file is being loaded by your runtime.
Environment variable reference
| Variable | Provider | Required |
|---|---|---|
AUTH_GOOGLE_ID | If using Google | |
AUTH_GOOGLE_SECRET | If using Google | |
AUTH_GITHUB_ID | GitHub | If using GitHub |
AUTH_GITHUB_SECRET | GitHub | If using GitHub |
AUTH_MICROSOFT_ENTRA_ID_ID | Microsoft Entra ID | If using Entra ID |
AUTH_MICROSOFT_ENTRA_ID_SECRET | Microsoft Entra ID | If using Entra ID |
AUTH_MICROSOFT_ENTRA_ID_ISSUER | Microsoft Entra ID | If using Entra ID |
AUTH_OKTA_ID | Okta | If using Okta |
AUTH_OKTA_SECRET | Okta | If using Okta |
AUTH_OKTA_ISSUER | Okta | If using Okta |
At least one complete provider set (ID + Secret, plus Issuer where applicable) must be present or the application will not render any sign-in options.
Related files
src/platform/auth/providers.ts— reads provider credentials and registers active providerssrc/platform/auth/sign-in-buttons.tsx— renders per-provider sign-in buttons; shows the "no providers" fallback when the list is empty.env.example— canonical reference for all required and optional environment variables