Passer au contenu principal
Le flux du mot de passe du propriétaire de la ressource (parfois appelé Password Grant ou ROPG) est utilisé par des applications hautement fiables pour assurer une authentification active. Contrairement au code d’autorisation et aux octrois implicites, ce mécanisme d’authentification ne redirige pas les utilisateurs vers Auth0. Il authentifie les utilisateurs au moyen d’une seule requête, en échangeant leurs identifiants et leur mot de passe contre un jeton. Le pipeline conforme à OIDC a une incidence sur le flux du mot de passe du propriétaire de la ressource dans les domaines suivants :
  • Requête d’authentification
  • Réponse d’authentification
  • Structure du
  • Structure du

Requête d’authentification

Version héritée

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"
}
Le paramètre device n’est requis que si vous demandez un en transmettant le scope offline_access.

Conforme à 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
  • Le point de terminaison pour effectuer des échanges d’identifiants est /oauth/token.
  • Le type d’autorisation propre à Auth0 sert à authentifier les utilisateurs au moyen d’une connexion spécifique (realm). Le type d’autorisation par mot de passe OIDC standard est également pris en charge, mais il n’accepte pas les paramètres propres à Auth0, comme realm.
  • favorite_color n’est plus un scope valide.
  • Le paramètre device a été supprimé.
  • Le paramètre audience est facultatif.

Réponse d’authentification

Version héritée

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..."
}
  • Le jeton d’accès renvoyé n’est valide que pour appeler le point de terminaison /userinfo.
  • Un Jeton d’actualisation n’est renvoyé que si un paramètre device a été transmis et que le scope offline_access a été demandé.

Conforme à 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..."
}
  • 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ètre audience utilise RS256 comme algorithme de signature) ainsi que, au besoin, le spécifié par le paramètre audience.
  • Le jeton d’identité sera obligatoirement signé avec RS256 s’il est demandé par une application publique. Pour en savoir plus, consultez Applications confidentielles et publiques.
  • Un jeton d’actualisation sera renvoyé uniquement si le scope offline_access a été accordé.

Structure de l’ID Token

version héritée

Conforme à OIDC

  • Le jeton d’identité sera automatiquement signé avec RS256 s’il est demandé par une application publique.
  • La claim favorite_color doit être associée à un espace de noms et ajoutée au moyen d’une Rule. Pour en savoir plus, consultez Créer des claims personnalisées avec un espace de noms.

Structure du jeton d’accès (facultative)

Version héritée

JSON
SlAV32hkKG
Le jeton d’accès renvoyé est opaque et n’est valide que pour appeler le point de terminaison /userinfo.

Conforme à OIDC

  • Le jeton d’accès renvoyé est un valide pour appeler le point de terminaison /userinfo (à condition que l’API spécifiée par le paramètre audience utilise RS256 comme ), ainsi que le serveur de ressources spécifié par le paramètre audience.
  • Notez qu’un jeton d’accès opaque pourrait tout de même être renvoyé si /userinfo est la seule spécifiée.

Requêtes standard d’octroi par mot de passe

L’octroi Auth0 par mot de passe avec realm n’est pas défini par la norme OIDC, mais il est proposé comme solution de rechange à l’ancien point de terminaison du propriétaire de la ressource, puisqu’il prend en charge le paramètre realm propre à Auth0. Le flux OIDC standard est également pris en charge lors de l’utilisation de l’authentification OIDC.

Pour en savoir plus