Flux de mot de passe du propriétaire de ressource avec OIDC
Le Flux de mot de passe du propriétaire de ressource (parfois appelé consentement de mot de passe du propriétaire de la ressource ou ROPG) est utilisé par des applications hautement fiables pour fournir une authentification active. Contrairement au code d’autorisation et aux consentements implicites, ce mécanisme d’authentification ne redirige pas les utilisateurs vers Auth0. Il authentifie les utilisateurs avec une seule demande, en échangeant leurs informations d’identification de mot de passe contre un jeton.
Le pipeline conforme à l’OIDC affecte le flux de mot de passe du propriétaire de ressource dans les domaines suivants :
Demande d’authentification
Réponse d’authentification
Structure des jetons d’ID
Structure des jetons d’accès
Demande d’authentification
Hérité
POST /oauth/ro HTTP 1.1
Content-Type: application/json
{
"grant_type": "password",
"client_id": "123",
"username": "alice",
"password": "A3ddj3w",
"connection": "my-database-connection",
"scope": "openid email favorite_color offline_access",
"device": "my-device-name"
}
Was this helpful?
Le paramètre device
n’est nécessaire que si vous demandez un jeton d’actualisation en transmettant la permission offline_access
.
Conformité OIDC
POST /oauth/token HTTP 1.1
Content-Type: application/x-www-form-urlencoded
grant_type=http%3A%2F%2Fauth0.com%2Foauth%2Fgrant-type%2Fpassword-realm&client_id=123&username=alice&password=A3ddj3w&realm=my-database-connection&scope=openid+email+offline_access&audience=https%3A%2F%2Fapi.example.com
Was this helpful?
Le point de terminaison pour exécuter les échanges d’informations d’identification est
/oauth/token
.Le type de consentement propre à Auth0 est utilisé pour authentifier les utilisateurs à partir d’une connexion spécifique (
realm
). Le consentement de mot de passe OIDC standard est également pris en charge, mais il n’accepte pas les paramètres spécifiques à Auth0 tels querealm
.favorite_color
n’est plus une permission valide.Le paramètre
device
est retiré.Le paramètre
audience
est facultatif.
Réponse d’authentification
Hérité
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token": "eyJ..."
}
Was this helpful?
Le jeton d’accès renvoyé n’est valide que pour appeler le point de terminaison
/userinfo
.Un jeton d’actualisation sera renvoyé uniquement si un paramètre
device
a été transmis et que la permissionoffline_access
a été demandée.
Conformité OIDC
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "eyJ...",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token": "eyJ..."
}
Was this helpful?
Le jeton d’accès renvoyé est valide pour appeler le point de terminaison
/userinfo
(à condition que l’API spécifiée par le paramètreaudience
utiliseRS256
en tant qu’algorithme de signature) et éventuellement le serveur de ressources spécifié par le paramètreaudience
.Le jeton d’ID sera signé de force à l’aide de
RS256
si une application publique le demande. Pour en savoir plus, lisez Applications confidentielles et publiques.Un jeton d’actualisation sera renvoyé uniquement si la permission
offline_access
a été accordée.
Structure de jeton d’ID
Hérité
{
"sub": "auth0|alice",
"iss": "https://{yourDomain}/",
"aud": "123",
"exp": 1482809609,
"iat": 1482773609,
"email": "alice@example.com",
"email_verified": true,
"favorite_color": "blue"
}
Was this helpful?
Conformité OIDC
{
"sub": "auth0|alice",
"iss": "https://{yourDomain}/",
"aud": "123",
"exp": 1482809609,
"iat": 1482773609,
"email": "alice@example.com",
"email_verified": true,
"https://app.example.com/favorite_color": "blue"
}
Was this helpful?
Le jeton d’ID sera signé de force à l’aide de
RS256
si une application publique le demande.La demande
favorite_color
doit être spécifiée dans un espace de noms et ajoutée par le biais d’une règle. Pour en savoir plus, veuillez consulter Créer des demandes personnalisées avec espace de noms.
Structure des jetons d’accès (facultatif)
Hérité
SlAV32hkKG
Was this helpful?
Le jeton d’accès renvoyé est opaque et n’est valide que pour appeler le point de terminaison /userinfo
.
Conformité OIDC
{
"sub": "auth0|alice",
"iss": "https://{yourDomain}/",
"aud": [
"https://api.example.com",
"https://{yourDomain}/userinfo"
],
"azp": "123",
"exp": 1482816809,
"iat": 1482809609,
"scope": "openid email"
}
Was this helpful?
Le jeton d’accès renvoyé est un JWT valide pour appeler le point de terminaison
/userinfo
(à condition que l’API spécifiée par le paramètreaudience
utiliseRS256
en tant qu’algorithme de signature) et éventuellement le serveur de ressources spécifié par le paramètreaudience
.Notez qu’un jeton d’accès opaque peut toujours être renvoyé si
/userinfo
est la seule audience spécifiée.
Demandes d’attribution de mot de passe standard
Le consentement de domaine de mot de passe Auth0 n’est pas défini en standard par OIDC, mais il est suggéré comme alternative au point de terminaison du propriétaire de la ressource héritée, car il prend en charge le paramètre realm
spécifique à Auth0. Le flux OIDC standard est également pris en charge lors de l’utilisation de l’authentification OIDC.