Supabase: eigener OIDC-Provider mit Dazr Identity
Anmeldung mit Dazr Identity: kostenloses OpenID Connect mit Hosting in der EU, mit Passkeys, E-Mail-Codes und Google- oder Microsoft-Konten hinter einem Button.
Sie brauchen drei Werte aus der Entwicklerkonsole: die Client-ID, das Client-Secret (nur für Webserver-Apps) und die registrierte Weiterleitungs-URI. Alles Weitere steht im Discovery-Dokument unter https://identity.dazr.eu/.well-known/openid-configuration.
Supabase Auth unterstützt eigene OAuth- und OpenID-Connect-Provider. Fügen Sie Dazr Identity als solchen hinzu, und Ihre Nutzer melden sich bei Ihrem Supabase-Projekt mit einem Passkey, einem E-Mail-Code oder ihrem Google- oder Microsoft-Konto an, über einen einzigen Button.
1. Eine App in Dazr Identity registrieren
Registrieren Sie in Dazr Identity → Entwickler eine Webserver-App. Tragen Sie als Weiterleitungs-URI die Callback-URL ein, die Supabase beim Hinzufügen des Providers anzeigt. Bei einem von Supabase gehosteten Projekt lautet sie https://<project-ref>.supabase.co/auth/v1/callback. Notieren Sie Client-ID und Client-Secret für den nächsten Schritt.
2. Den Provider in Supabase hinzufügen
Öffnen Sie im Supabase-Dashboard die Auth-Provider Ihres Projekts, klicken Sie auf New Provider und wählen Sie Auto-discovery (OIDC). Tragen Sie diese Werte ein und klicken Sie dann auf Create and enable provider.
| Einstellung | Wert |
|---|---|
| Identifier | custom:dazr |
| Client-ID | Ihre Client-ID |
| Client-Secret | Ihr Client-Secret |
| Issuer-URL | https://identity.dazr.eu |
| Scopes | openid profile email |
Supabase liest das Discovery-Dokument unter https://identity.dazr.eu/.well-known/openid-configuration und prüft jedes ID-Token mit den dort genannten öffentlichen Schlüsseln. PKCE ist standardmäßig aktiviert. Lassen Sie es aktiviert: Dazr Identity lehnt Anmeldungen ohne PKCE ab.
Sie können den Provider auch per Code anlegen, auf einem Server, mit der Admin-API von 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. Personen anmelden
Starten Sie die Anmeldung mit dem Identifier des Providers. Supabase übernimmt die Weiterleitung zu Dazr Identity, PKCE und den Callback und legt dann den Nutzer an oder meldet den bestehenden an.
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'custom:dazr',
options: { redirectTo: 'https://app.example.eu/auth/callback' },
})
Gestalten Sie den Button wie unter Der Button beschrieben. Row Level Security funktioniert wie gewohnt: Die angemeldete Person hat eine normale Supabase-Nutzer-ID.
Gut zu wissen
- Supabase erwartet standardmäßig eine E-Mail-Adresse. Behalten Sie den Scope
email: Dazr Identity gibt nur bestätigte E-Mail-Adressen aus. - Solange Ihre App bei Dazr im Testmodus ist, funktionieren auch Weiterleitungs-URIs mit
http://localhostundhttp://127.0.0.1auf jedem Port, etwa für einen lokalen Supabase-Stack. - Supabase begrenzt je nach Tarif, wie viele eigene Provider ein Projekt haben kann. Siehe Custom OAuth and OIDC providers in der Supabase-Dokumentation. Zuletzt geprüft im Oktober 2026.
sub ist pairwise: gleich für jede App Ihrer Organisation, anders für jede andere Organisation. Er ändert sich für eine Person nie, eine E-Mail-Adresse dagegen schon. Speichern Sie sub als Schlüssel des Kontos und behandeln Sie email als Kontaktangabe.
Mehr für Entwickler
EntwicklerdokumentationAlle IntegrationsanleitungenJede OpenID-Connect-BibliothekPreise