Supabase: egen OIDC-leverantör med Dazr Identity
Inloggning med Dazr Identity: kostnadsfri OpenID Connect, i EU, med nycklar (passkeys), e-postkoder och Google- eller Microsoft-konton bakom en enda knapp.
Du behöver tre värden från utvecklarkonsolen: klient-id:t, klienthemligheten (bara webbserverappar) och den omdirigerings-URI du registrerade. Resten finns i discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration.
Supabase Auth stöder egna OAuth- och OpenID Connect-leverantörer. Lägg till Dazr Identity som en av dem, så loggar dina användare in i ditt Supabase-projekt med en nyckel (passkey), en e-postkod eller sitt Google- eller Microsoft-konto, via en enda knapp.
1. Registrera en app i Dazr Identity
Registrera en webbserverapp i Dazr Identity → Utvecklare. Använd callback-URL:en som Supabase visar när du lägger till leverantören som omdirigerings-URI. För ett projekt som Supabase driftar är det https://<project-ref>.supabase.co/auth/v1/callback. Spara klient-id:t och klienthemligheten till nästa steg.
2. Lägg till leverantören i Supabase
Öppna projektets Auth-leverantörer i Supabase-instrumentpanelen, klicka på New Provider och välj Auto-discovery (OIDC). Fyll i de här värdena och klicka sedan på Create and enable provider.
| Inställning | Värde |
|---|---|
| Identifier | custom:dazr |
| Klient-id | ditt klient-id |
| Klienthemlighet | din klienthemlighet |
| Issuer-URL | https://identity.dazr.eu |
| Scopes | openid profile email |
Supabase läser discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration och kontrollerar varje ID-token mot de publika nycklar som anges där. PKCE är aktiverat som standard. Låt det vara på: Dazr Identity avvisar inloggningar utan PKCE.
Du kan också skapa leverantören i kod, 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. Logga in användare
Starta inloggningen med leverantörens identifier. Supabase sköter omdirigeringen till Dazr Identity, PKCE och callbacken och skapar sedan användaren eller loggar in den befintliga.
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'custom:dazr',
options: { redirectTo: 'https://app.example.eu/auth/callback' },
})
Ge knappen det utseende som beskrivs under Knappen. Row level security fungerar som vanligt: den inloggade personen har ett vanligt användar-id i Supabase.
Bra att veta
- Supabase förväntar sig en e-postadress som standard. Behåll scopet
email: Dazr Identity utfärdar bara verifierade e-postadresser. - Så länge din app är i testläge hos Dazr fungerar också omdirigerings-URI:er med
http://localhostochhttp://127.0.0.1på valfri port, till exempel för en lokal Supabase-stack. - Supabase begränsar beroende på plan hur många egna leverantörer ett projekt kan ha. Se Custom OAuth and OIDC providers i Supabases dokumentation. Senast kontrollerat i oktober 2026.
sub är parvist: detsamma för alla appar i din organisation, olika för alla andra organisationer. Det ändras aldrig för en person, medan en e-postadress kan ändras. Spara sub som kontonyckel och behandla email som kontaktuppgift.
Mer för utvecklare
UtvecklardokumentationAlla integrationsguiderValfritt OpenID Connect-bibliotekPriser