Skip to content

Supabase Auth errorSupabase “provider_disabled”: the sign-in provider is off

Sign in with Google, GitHub or another provider fails, or email sign-up is refused. Supabase’s error-code table lists provider_disabled for an OAuth provider that is disabled for use, so check the project the app talks to. Here is each place to enable it, in Supabase’s words, or hand it over at a fixed price.

Short answer

Enable the provider on its page in the hosted project’s dashboard, with the client ID and secret from the provider. For local development, Supabase configures the provider in supabase/config.toml instead; we also restart the local stack after editing it. For email or phone sign-up, check that those providers are on as well.

Where the provider is off, and the fix

  1. 01

    The provider is off in the hosted project

    “OAuth provider is disabled for use. Check your server's configuration.” Supabase, Auth error codes

    Each OAuth provider is switched on per project, with the client ID and secret you create at the provider. Enable it on the provider page in the dashboard for the project your app’s URL points at, since staging and production are often separate projects.

  2. 02

    For local development, configure it in config.toml

    “Configure the provider in supabase/config.toml” Supabase, Login with Google

    For local development, Supabase’s guide configures the provider in supabase/config.toml. First add the secret as an environment variable, SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_SECRET="<client-secret>", then reference it as in Supabase’s Google example.

    [auth.external.google]
    enabled = true
    client_id = "<client-id>"
    secret = "env(SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_SECRET)"
    skip_nonce_check = false
  3. 03

    Email or phone sign-up is switched off

    “Signups are disabled for email and password.” Supabase, Auth error codes

    Email and phone have their own codes, email_provider_disabled and phone_provider_disabled. They appear when those sign-up methods are turned off in the project’s Auth settings.

Checked against the vendor’s docs on : Supabase docs: Auth error codes; Supabase docs: Login with Google.

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

Related: Google OAuth redirect_uri_mismatch · Firebase auth/operation-not-allowed · Supabase public storage bucket · Supabase Realtime not receiving changes

Questions

More on this error

Can I enable a provider without the dashboard?

Yes. Supabase’s Google guide shows the Management API: send PATCH /v1/projects/{ref}/config/auth with external_google_enabled set to true and the client ID and secret.

We have separate Google client IDs for web, iOS and Android. Which one goes in?

All of them. Supabase says to concatenate all of the client IDs with a comma, with the web client ID first in the list.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; we reply by email, usually within one business day.