Flux de mot de passe du propriétaire de ressource

Bien que nous ne le recommandions pas, les applications hautement fiables peuvent utiliser le flux de mot de passe du propriétaire de ressource, (défini dans la section 4.3 OAuth 2.0 RFC 6749, parfois appelée Resource Owner Password Grant ou ROPG - Consentement de mot de passe au propriétaire de la ressource ou ROPG), qui demande aux utilisateurs de fournir des identifiants (nom d’utilisateur et mot de passe), généralement à l’aide d’un formulaire interactif. Comme les informations d’identification sont envoyées au système dorsal et peuvent être stockées pour usage ultérieur avant d’être échangées contre un jeton d’accès, il est impératif que l’application ait une confiance absolue dans ces informations.

Même si cette condition est remplie, le Flux de mot de passe du propriétaire de ressource ne doit être utilisé que lorsque les flux de redirection comme le Flux de code d’autorisation ne peuvent pas être utilisés.

Fonctionnement

Diagramme - Flux de mot de passe du propriétaire de ressource
  1. L’utilisateur clique sur Connexion au sein de l’application et saisit ses identifiants.

  2. Votre application transmet les identifiants de l’utilisateur à votre serveur d’autorisation Auth0 (point de terminaison /oauth/token).

  3. Votre serveur d’autorisations Auth0 valide les informations d’identification.

  4. Votre serveur d’autorisations Auth0 répond par un jeton d’accès (et éventuellement un jeton d’actualisation).

  5. Votre application peut utiliser le jeton d’accès pour appeler une API afin d’accéder aux informations concernant l’utilisateur.

  6. L’API répond avec les données demandées.

Comment la mettre en œuvre?

La manière la plus simple d’implémenter le Flux de mot de passe du propriétaire de ressource est de suivre notre tutoriel décrivant comment utiliser nos points de terminaison API pour Appeler votre API à l’aide du flux de mot de passe du propriétaire de ressource.

Prise en charge des partitions

Auth0 fournit une autorisation d’extension semblable à l’autorisation de mot de passe du propriétaire de ressource, qui vous permet de conserver des répertoires d’utilisateurs distincts (qui correspondent à des connexions distinctes) et de spécifier celui qui doit être utilisé pendant le flux.

Par exemple, supposons que vous souhaitiez présenter une liste déroulante sur l’interface utilisateur de connexion de votre application permettant aux utilisateurs de choisir leur type d’utilisateur : Employees ou Customers. Dans ce cas, vous devez configurer Employees et Customers en tant que domaines (et configurer une connexion correspondante pour chacun), ce qui permet de conserver les identifiants des employés et des clients dans des répertoires d’utilisateurs distincts. Lorsque vous demandez un jeton, vous soumettez la valeur du domaine avec les informations d’identification de l’utilisateur et le domaine soumis est utilisé pour vérifier le mot de passe.

Pour en savoir plus sur la mise en œuvre de cet octroi d’extension, veuillez consulter l’article Appelez votre API à l’aide du flux de mot de passe du propriétaire de ressource : Configurer la prise en charge des partitions.

Règles

Les règles seront exécutées pour le Flux de mot de passe du propriétaire de ressource (y compris l’autorisation d’extension de la partition). En revanche, les règles de redirection ne fonctionneront pas. Si vous essayez d’effectuer une redirection en spécifiant context.redirect dans votre règle, le flux d’authentification renverra une erreur. Pour en savoir plus sur les règles, lisez Règles d'Auth0. Pour en savoir plus sur les règles de redirection, veuillez consulter l’article Rediriger les utilisateurs à partir des règles.

Prise en charge MFA

Si vous devez utiliser le Flux de mot de passe du propriétaire de ressource, mais que vous avez besoin d’une authentification plus forte, vous pouvez ajouter l’authentification multifacteur (MFA). Pour savoir comment procéder, veuillez consulter l’article Authentifier à l’aide d’un Flux de mot de passe du propriétaire de ressource avec MFA.

Protection contre les attaques

Lorsque vous utilisez le Flux de mot de passe du propriétaire de ressource avec une protection contre les attaques de force brute, certaines fonctionnalités de protection contre les attaques peuvent échouer. Certains problèmes courants peuvent toutefois être évités. Pour en savoir plus, veuillez consulter l’article Éviter les problèmes courants en utilisant Flux de mot de passe du propriétaire de ressource et Protection contre les attaques.

En savoir plus