Supabase: eigen OIDC-provider instellen met Dazr Identity
Inloggen met Dazr Identity: gratis OpenID Connect, gehost in de EU, met passkeys, e-mailcodes en Google- of Microsoft-accounts achter één knop.
Je hebt drie waarden uit de ontwikkelaarsconsole nodig: de client-ID, het clientgeheim (alleen voor webserver-apps) en de redirect-URI die je hebt geregistreerd. De rest staat in het discovery-document op https://identity.dazr.eu/.well-known/openid-configuration.
Supabase Auth ondersteunt eigen OAuth- en OpenID Connect-providers. Voeg Dazr Identity toe als zo’n provider, en je gebruikers loggen in op je Supabase-project met een passkey, een e-mailcode of hun Google- of Microsoft-account, via één knop.
1. Registreer een app in Dazr Identity
Registreer in Dazr Identity → Ontwikkelaars een webserver-app. Gebruik als redirect-URI de callback-URL die Supabase toont als je de provider toevoegt. Voor een project dat Supabase host is dat https://<project-ref>.supabase.co/auth/v1/callback. Bewaar de client-ID en het clientgeheim voor de volgende stap.
2. Voeg de provider toe in Supabase
Open in het Supabase-dashboard de Auth-providers van je project, klik op New Provider en kies Auto-discovery (OIDC). Vul deze waarden in en klik daarna op Create and enable provider.
| Instelling | Waarde |
|---|---|
| Identifier | custom:dazr |
| Client-ID | je client-ID |
| Client secret | je client secret |
| Issuer-URL | https://identity.dazr.eu |
| Scopes | openid profile email |
Supabase leest het discovery-document op https://identity.dazr.eu/.well-known/openid-configuration en controleert elk ID-token met de publieke sleutels die daarin staan. PKCE staat standaard aan. Laat het aan staan: Dazr Identity weigert inloggen zonder PKCE.
Je kunt de provider ook in code aanmaken, op een server, met de Admin API van Supabase:
// 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. Laat mensen inloggen
Start het inloggen met de identifier van de provider. Supabase regelt de doorverwijzing naar Dazr Identity, PKCE en de callback, en maakt daarna de gebruiker aan of logt de bestaande gebruiker in.
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'custom:dazr',
options: { redirectTo: 'https://app.example.eu/auth/callback' },
})
Geef de knop de stijl uit De knop. Row level security werkt zoals altijd: de ingelogde persoon heeft een gewone Supabase-gebruikers-ID.
Goed om te weten
- Supabase verwacht standaard een e-mailadres. Houd de scope
emailaan: Dazr Identity geeft alleen bevestigde e-mailadressen door. - Zolang je app bij Dazr in de testfase is, werken ook redirect-URI’s met
http://localhostenhttp://127.0.0.1op elke poort, bijvoorbeeld voor een lokale Supabase-stack. - Supabase beperkt per abonnement hoeveel eigen providers een project kan hebben. Zie Custom OAuth and OIDC providers in de documentatie van Supabase. Laatst gecontroleerd in oktober 2026.
sub is pairwise: hetzelfde voor elke app van je organisatie, anders voor elke andere organisatie. Hij verandert nooit voor een persoon, een e-mailadres wel. Sla sub op als sleutel van het account en behandel email als contactgegeven.
Meer voor ontwikkelaars
OntwikkelaarsdocumentatieAlle integratiehandleidingenElke OpenID Connect-bibliotheekPrijzen