Supabase: egen OIDC-leverandør med Dazr Identity
Innlogging med Dazr Identity: gratis OpenID Connect, driftet i EU, med passnøkler, e-postkoder og Google- eller Microsoft-kontoer bak én knapp.
Du trenger tre verdier fra utviklerkonsollen: klient-ID-en, klienthemmeligheten (bare apper med webserver) og omdirigerings-URI-en du registrerte. Resten står i discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration.
Supabase Auth støtter egne OAuth- og OpenID Connect-leverandører. Legg til Dazr Identity som en av dem, så logger brukerne dine inn i Supabase-prosjektet ditt med en passnøkkel, en e-postkode eller Google- eller Microsoft-kontoen sin, via én knapp.
1. Registrer en app i Dazr Identity
Registrer en app med webserver i Dazr Identity → Utviklere. Bruk callback-URL-en som Supabase viser når du legger til leverandøren, som omdirigerings-URI. For et prosjekt som Supabase drifter, er den https://<project-ref>.supabase.co/auth/v1/callback. Ta vare på klient-ID-en og klienthemmeligheten til neste trinn.
2. Legg til leverandøren i Supabase
Åpne Auth-leverandørene for prosjektet ditt i Supabase-dashbordet, klikk på New Provider og velg Auto-discovery (OIDC). Fyll inn disse verdiene, og klikk deretter på Create and enable provider.
| Innstilling | Verdi |
|---|---|
| Identifier | custom:dazr |
| Klient-ID | klient-ID-en din |
| Klienthemmelighet | klienthemmeligheten din |
| Issuer-URL | https://identity.dazr.eu |
| Scopes | openid profile email |
Supabase leser discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration og kontrollerer hvert ID-token mot de offentlige nøklene som står der. PKCE er slått på som standard. La det være på: Dazr Identity avviser innlogging uten PKCE.
Du kan også opprette leverandøren i kode, på en server, med Supabase Admin API:
// Server only: this client uses the service role key.
const { data, error } = await supabase.auth.admin.customProviders.createProvider({
provider_type: 'oidc',
identifier: 'custom:dazr',
name: 'Dazr Identity',
client_id: process.env.DAZR_CLIENT_ID,
client_secret: process.env.DAZR_CLIENT_SECRET,
issuer: 'https://identity.dazr.eu',
scopes: ['openid', 'profile', 'email'],
})
3. Logg inn brukere
Start innloggingen med identifieren til leverandøren. Supabase tar seg av omdirigeringen til Dazr Identity, PKCE og callbacken, og oppretter deretter brukeren eller logger inn den eksisterende.
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'custom:dazr',
options: { redirectTo: 'https://app.example.eu/auth/callback' },
})
Gi knappen utseendet som er beskrevet under Knappen. Row level security virker som vanlig: den innloggede personen har en vanlig bruker-ID i Supabase.
Greit å vite
- Supabase forventer en e-postadresse som standard. Behold scopet
email: Dazr Identity utsteder bare bekreftede e-postadresser. - Så lenge appen din er i testmodus hos Dazr, virker også omdirigerings-URI-er med
http://localhostoghttp://127.0.0.1på hvilken som helst port, for eksempel for en lokal Supabase-stakk. - Supabase begrenser, avhengig av abonnementet, hvor mange egne leverandører et prosjekt kan ha. Se Custom OAuth and OIDC providers i dokumentasjonen til Supabase. Sist kontrollert i oktober 2026.
sub er parvis: den samme for alle apper i organisasjonen din, forskjellig for alle andre organisasjoner. Den endres aldri for en person, mens en e-postadresse kan endres. Lagre sub som kontonøkkel og behandle email som kontaktopplysning.
Mer for utviklere
UtviklerdokumentasjonAlle integrasjonsveiledningerHvilket som helst OpenID Connect-bibliotekPriser