Référentiel Liberty[8.5.5.4 ou ultérieure]

Configuration d'un fournisseur OpenID Connect pour l'activation de demandes OAuth à deux étapes

Le flux OAuth classique se compose de trois "étapes", ou stades d'interaction entre un client et un serveur d'autorisation. Dans les scénarios OAuth à deux étapes, le client utilise des portées préautorisées de sorte qu'aucune interaction avec l'utilisateur n'est nécessaire, ce qui évite d'avoir à effectuer l'une des étapes dans le flux classique. Plus précisément, l'utilisateur n'a pas besoin de s'authentifier auprès du serveur d'autorisations ou de donner son accord pour le partage des informations spécifiées par les portées demandées. Au lieu de cela, tous les paramètres des portées demandées sont considérés comme préautorisés et sont automatiquement ajoutés au jeton de demande, lequel est envoyé au serveur d'autorisations.

Avant de commencer

Cette tâche suppose que vous disposez d'un serveur de profil Liberty qui est correctement configuré en tant que fournisseur OpenID Connect.

Pourquoi et quand exécuter cette tâche

Dans les scénarios avec deux étapes ou stades, un client OpenID Connect peut envoyer une demande HTTP à deux étapes avec un élément grant type de type client_credential ou resource owner password. Ces demandes ne passent pas par le noeud final d'autorisation, il n'y a donc par de formulaire d'accord de portée pour que les utilisateurs confirment et approuvent les portées demandées. Toutefois, le fournisseur OpenID Connect doit quand même traiter les portées autorisées dans son contenu access_token.

Les serveurs de profil Liberty qui sont configurés en tant que fournisseurs OpenID Connect sont équipés pour gérer l'approbation des demandes OAuth à deux étapes des portées préautorisées en utilisant les critères suivants :

  1. Si la valeur de paramètre grant_type d'une demande est client_credential ou resource owner password et que la demande est de type OAuth 2.0, toutes les portées qui sont définies dans la demande sont approuvée et elles sont copiées dans le contenu du jeton d'accès. Il s'agit du comportement existant de la fonction OAuth 2.0.
  2. Si la demande est de type OpenID Connect, JWT Token OAuth ou OpenID Connect, les critères suivants sont utilisés :
    • Si aucun paramètre de portée n'est spécifié dans la demande, le fournisseur OpenID Connect n'acceptera pas la demande.
    • Les portées demandées doivent être présentes dans la liste de portées définies par l'attribut scope de la configuration client et elles doivent aussi être indiquées dans la liste preAuthorizedScope de la configuration client.

Cette tâche démontre comment configurer un serveur de profil Liberty faisant office de fournisseur OpenID Connect pour l'activation de demandes OAuth à deux étapes.

Procédure

Pour indiquer la liste des portées pré-autorisées pour un client, ajoutez les portées nécessaires aux attributs scope et preAuthorizedScope de la configuration client au sein de l'élément <oauthProvider> approprié dans votre fichier server.xml. Dans l'exemple ci-dessous, les portées profile et email sont qualifiées pour être indiquées dans la liste de portées d'un jeton d'accès qui est renvoyé par le fournisseur OpenID Connect. La portée phone n'est pas considérée comme portée pré-autorisée car elle ne figure pas dans la liste preAuthorizedScope.
<oauthProvider id="OAuthConfigSample" ...>
 ....
           <localStore>           
             <client name="client01" secret="{xor}..."
               displayname="client01"
               scope="profile email phone"
               preAuthorizedScope="profile email"
               enabled="true" />
             ....
           </localStore>
</oauthProvider>
Remarque : Si une portée demandée n'est pas répertoriée dans l'attribut scope de la configuration client, elle est omise de la portée du jeton d'accès renvoyé. Si une portée demandée est répertoriée dans l'attribut scope de la configuration client mais qu'elle ne figure pas dans la liste preAuthorizedScope de la configuration client, elle déclenche une erreur invalid_grant dans la réponse du fournisseur OpenID Connect.

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_oidc_2leg_oauth_req
Nom du fichier : twlp_oidc_2leg_oauth_req.html