OAuth 2
Usa DTZ Identity come provider OAuth 2.0 e OpenID Connect (OIDC) per permettere agli utenti di accedere alle tue applicazioni con i loro account DTZ.
Che cos’è OIDC?
OpenID Connect (OIDC) permette alla tua applicazione di autenticare gli utenti tramite DTZ Identity senza gestire direttamente le password. Invece di amministrare le credenziali degli utenti, reindirizzi gli utenti a DTZ per il login, quindi ricevi un token sicuro per accedere alle loro informazioni.
Perfetto per: applicazioni web, applicazioni mobili o qualsiasi servizio che necessiti di autenticazione sicura degli utenti.
Avvio rapido
1. Ottieni il tuo Context ID
In DTZ, ogni applicazione usa un “context” come identificatore. Avrai bisogno di un context-{uuid} a cui i tuoi utenti hanno accesso.
Esempio: context-abc123
Nota: Nel sistema DTZ, sia il tuo
client_idche il tuoclient_secretsono lo stesso context ID. Questo semplifica la configurazione mantenendo la sicurezza.
2. Endpoint essenziali
Hai bisogno solo di questi due endpoint per iniziare:
| Scopo | Endpoint |
|---|---|
| Accesso utente | https://identity.dtz.rocks/api/2021-02-21/oauth/authorize |
| Ottieni Token | https://identity.dtz.rocks/api/2021-02-21/oauth/token |
| Informazioni utente | https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo |
3. Scoperta automatica
La maggior parte delle librerie OAuth può auto-configurarsi usando l’endpoint di discovery di DTZ:
https://identity.dtz.rocks/.well-known/openid-configuration
Come funziona
Passo 1: Reindirizza l’utente a DTZ
Quando un utente vuole accedere, reindirizzalo a:
https://identity.dtz.rocks/api/2021-02-21/oauth/authorize?
response_type=code&
client_id=YOUR_CONTEXT_ID&
redirect_uri=https://yourapp.com/callback&
scope=openid&
state=random-string-for-security
Passo 2: L’utente effettua il login
DTZ gestisce il processo di login:
- Se è già autenticato → reindirizzamento immediato alla tua app
- Se non è autenticato → viene mostrato il modulo di login, poi reindirizza di nuovo
Passo 3: Scambia il codice per un token
DTZ reindirizza di nuovo alla tua app con un codice. Scambialo per un token:
curl -X POST https://identity.dtz.rocks/api/2021-02-21/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=YOUR_CONTEXT_ID" \
-d "client_secret=YOUR_CONTEXT_ID" \
-d "redirect_uri=https://yourapp.com/callback" \
-d "code=THE_CODE_FROM_REDIRECT"
Passo 4: Ottieni le informazioni sull’utente
Usa l’access token per ottenere i dettagli dell’utente:
curl -X GET https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Risposta:
{
"sub": "identity-12345678",
"iss": "dtz.rocks",
"contexts": ["abc124"],
"roles": ["https://dtz.rocks/context/admin/abc123..."]
}