Supabase: provider OIDC personalizzato con Dazr Identity
Accesso con Dazr Identity: OpenID Connect gratuito, ospitato nell’UE, con passkey, codici via email e account Google o Microsoft dietro un solo pulsante.
Le servono tre valori dalla console per sviluppatori: il client ID, il client secret (solo per le app web server) e l’URI di reindirizzamento registrato. Tutto il resto è nel documento di discovery all’indirizzo https://identity.dazr.eu/.well-known/openid-configuration.
Supabase Auth supporta provider OAuth e OpenID Connect personalizzati. Aggiunga Dazr Identity come uno di questi, e i Suoi utenti accedono al Suo progetto Supabase con una passkey, un codice via email o il loro account Google o Microsoft, da un solo pulsante.
1. Registri un’app in Dazr Identity
In Dazr Identity → Sviluppatori, registri un’app web server. Come URI di reindirizzamento usi l’URL di callback che Supabase mostra quando aggiunge il provider. Per un progetto ospitato da Supabase è https://<project-ref>.supabase.co/auth/v1/callback. Tenga il client ID e il client secret per il passo successivo.
2. Aggiunga il provider in Supabase
Nella dashboard di Supabase, apra i provider Auth del Suo progetto, faccia clic su New Provider e scelga Auto-discovery (OIDC). Inserisca questi valori, poi faccia clic su Create and enable provider.
| Impostazione | Valore |
|---|---|
| Identifier | custom:dazr |
| Client ID | il Suo client ID |
| Client secret | il Suo client secret |
| URL dell’issuer | https://identity.dazr.eu |
| Scope | openid profile email |
Supabase legge il documento di discovery all’indirizzo https://identity.dazr.eu/.well-known/openid-configuration e verifica ogni ID token con le chiavi pubbliche che vi sono elencate. PKCE è attivo per impostazione predefinita. Lo lasci attivo: Dazr Identity rifiuta gli accessi senza PKCE.
Può anche creare il provider via codice, su un server, con l’Admin API di 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. Faccia accedere le persone
Avvii l’accesso con l’identifier del provider. Supabase gestisce il reindirizzamento a Dazr Identity, PKCE e la callback, poi crea l’utente o fa accedere quello esistente.
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'custom:dazr',
options: { redirectTo: 'https://app.example.eu/auth/callback' },
})
Dia al pulsante lo stile descritto in Il pulsante. La row level security funziona come sempre: la persona che ha effettuato l’accesso ha un normale ID utente Supabase.
Buono a sapersi
- Supabase si aspetta un indirizzo email per impostazione predefinita. Mantenga lo scope
email: Dazr Identity fornisce solo indirizzi email verificati. - Finché la Sua app è in fase di test presso Dazr, funzionano anche gli URI di reindirizzamento
http://localhostehttp://127.0.0.1su qualsiasi porta, per esempio per uno stack Supabase locale. - Supabase limita, a seconda del piano, quanti provider personalizzati può avere un progetto. Veda Custom OAuth and OIDC providers nella documentazione di Supabase. Ultimo controllo: ottobre 2026.
sub è pairwise: lo stesso per ogni app della Sua organizzazione, diverso per ogni altra organizzazione. Per una persona non cambia mai, mentre un indirizzo email può cambiare. Salvi sub come chiave dell’account e tratti email come dato di contatto.
Altro per gli sviluppatori
Documentazione per sviluppatoriTutte le guide all’integrazioneQualsiasi libreria OpenID ConnectPrezzi