Supabase: własny dostawca OIDC z Dazr Identity
Logowanie przez Dazr Identity: bezpłatny OpenID Connect hostowany w UE, z passkeys, kodami e-mail i kontami Google lub Microsoft pod jednym przyciskiem.
Potrzebujesz trzech wartości z konsoli dla deweloperów: identyfikatora klienta, sekretu klienta (tylko aplikacje serwerowe) i zarejestrowanego URI przekierowania. Resztę zawiera dokument discovery pod adresem https://identity.dazr.eu/.well-known/openid-configuration.
Supabase Auth obsługuje własnych dostawców OAuth i OpenID Connect. Dodaj Dazr Identity jako jednego z nich, a Twoi użytkownicy zalogują się do Twojego projektu Supabase passkey, kodem e-mail albo kontem Google lub Microsoft, jednym przyciskiem.
1. Zarejestruj aplikację w Dazr Identity
W Dazr Identity → Deweloperzy zarejestruj aplikację serwerową. Jako URI przekierowania użyj adresu callback, który Supabase pokazuje przy dodawaniu dostawcy. W projekcie hostowanym przez Supabase jest to https://<project-ref>.supabase.co/auth/v1/callback. Zachowaj identyfikator i sekret klienta na następny krok.
2. Dodaj dostawcę w Supabase
W panelu Supabase otwórz dostawców Auth swojego projektu, kliknij New Provider i wybierz Auto-discovery (OIDC). Wpisz te wartości, a potem kliknij Create and enable provider.
| Ustawienie | Wartość |
|---|---|
| Identifier | custom:dazr |
| Identyfikator klienta | Twój identyfikator klienta |
| Sekret klienta | Twój sekret klienta |
| URL wystawcy (Issuer URL) | https://identity.dazr.eu |
| Scope’y | openid profile email |
Supabase odczytuje dokument discovery pod adresem https://identity.dazr.eu/.well-known/openid-configuration i sprawdza każdy token ID kluczami publicznymi, które on podaje. PKCE jest domyślnie włączone. Nie wyłączaj go: Dazr Identity odrzuca logowania bez PKCE.
Dostawcę możesz też utworzyć w kodzie, na serwerze, przez Admin API 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. Zaloguj użytkowników
Rozpocznij logowanie z identyfikatorem dostawcy. Supabase obsługuje przekierowanie do Dazr Identity, PKCE i callback, a potem tworzy użytkownika albo loguje istniejącego.
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'custom:dazr',
options: { redirectTo: 'https://app.example.eu/auth/callback' },
})
Nadaj przyciskowi styl opisany w sekcji Przycisk. Row level security działa jak zwykle: zalogowana osoba ma zwykły identyfikator użytkownika Supabase.
Warto wiedzieć
- Supabase domyślnie oczekuje adresu e-mail. Zostaw scope
email: Dazr Identity przekazuje tylko zweryfikowane adresy e-mail. - Dopóki Twoja aplikacja jest w Dazr w trybie testowym, działają też URI przekierowania
http://localhostihttp://127.0.0.1na dowolnym porcie, na przykład dla lokalnego stosu Supabase. - Supabase ogranicza, zależnie od planu, liczbę własnych dostawców w projekcie. Zobacz Custom OAuth and OIDC providers w dokumentacji Supabase. Ostatnio sprawdzono: październik 2026.
sub jest pairwise: taki sam dla każdej aplikacji Twojej organizacji i inny dla każdej innej organizacji. Dla danej osoby nigdy się nie zmienia, a adres e-mail może. Zapisuj sub jako klucz konta, a email traktuj jako dane kontaktowe.
Więcej dla deweloperów
Dokumentacja dla deweloperówWszystkie przewodniki integracjiDowolna biblioteka OpenID ConnectCennik