Découvrez comment fonctionne le flux Resource Owner Password et pourquoi vous devriez l’utiliser pour des applications hautement fiables.
Comme le flux Resource Owner Password (ROP) implique que l’application traite le mot de passe de l’utilisateur, il ne doit pas être utilisé par des applications tierces.
Bien que nous ne le recommandions pas, les applications hautement fiables peuvent utiliser le flux Password (défini dans OAuth 2.0 RFC 6749, section 4.3 et parfois appelé Resource Owner Password Grant ou ROPG), qui demande aux utilisateurs de fournir des identifiants (nom d’utilisateur/courriel/téléphone et mot de passe), généralement au moyen d’un formulaire interactif. Comme les identifiants sont transmis au backend et peuvent y être stockés pour une utilisation ultérieure avant d’être échangés contre un , il est impératif que l’application soit absolument digne de confiance pour traiter ces renseignements.Même si cette condition est remplie, le flux Resource Owner Password ne devrait être utilisé que lorsque les flux basés sur la redirection (comme le flux Authorization Code) ne peuvent pas être utilisés.
Auth0 fournit un type d’octroi d’extension offrant des fonctionnalités semblables à celles du type d’octroi Resource Owner Password, tout en vous permettant de conserver des répertoires d’utilisateurs distincts (associés à des connexions distinctes) et de préciser lequel utiliser pendant le flux.Par exemple, supposons que vous souhaitiez afficher une liste déroulante dans l’interface de connexion de votre application afin de permettre aux utilisateurs de choisir leur type d’utilisateur : Employees ou Customers. Dans ce cas, vous configureriez Employees et Customers comme realms (et configureriez 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 realm avec les identifiants de l’utilisateur, et le realm soumis sera utilisé pour vérifier le mot de passe.Pour en savoir plus sur l’implémentation de ce type d’octroi d’extension, consultez Appeler votre API à l’aide du flux Resource Owner Password : configurer la prise en charge des realms.
Rules s’exécutent avec le flux Resource Owner Password (y compris le mécanisme d’octroi d’extension Realm). Cependant, les règles de redirection ne fonctionneront pas. Si vous tentez 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 Rules, consultez Auth0 Rules. Pour en savoir plus sur les règles de redirection, consultez Redirect Users from Within Rules.