
![[8.5.5.4 ou ultérieure]](../ng_v8554.gif)
Configuration d'un client OpenID Connect dans le profil Liberty
Vous pouvez configurer un serveur de profil Liberty afin qu'il opère en tant que client OpenID Connect, ou partie utilisatrice, afin de pouvoir tirer parti de la connexion unique Web et utiliser un fournisseur OpenID Connect en tant que fournisseur d'identité.
Pourquoi et quand exécuter cette tâche
Vous pouvez configurer un serveur de profil Liberty qui agira en tant que client OpenID Connect en activant la fonction openidConnectClient-1.0 du profil Liberty, en plus d'autres informations de configuration.
Procédure
- Ajoutez la fonction Liberty
openidConnectClient-1.0
et toute autre fonction nécessaire dans le fichier
server.xml.
La fonction ssl-1.0 est également requise
pour la fonction openidConnectClient-1.0.
Ajoutez la déclaration d'élément suivante dans l'élément
featureManager de votre fichier
server.xml :
<feature>openidConnectClient-1.0</feature> <feature>ssl-1.0</feature>
- Configurez un élément openidConnectClient.
Voici un exemple de configuration minimale qui fonctionne
avec le fournisseur OpenID
Connect du serveur de profil Liberty par défaut.
Le client doit comporter une application correctement configurée disponible avec le masque d'URL donné et pouvant traiter les demandes de redirection depuis un fournisseur OpenID Connect. Cette URL doit aussi précisément correspondre à l'URL de redirection enregistrée pour le client avec le fournisseur OpenID.
Remarque : Dans cet exemple, le client suppose que le port SSL du fournisseur OpenID est défini sur 443.<openidConnectClient id="client01" clientId="client01" clientSecret="{xor}LDo8LTor" authorizationEndpointUrl="https://server.example.com:443/oidc/endpoint/OidcConfigSample/authorize" tokenEndpointUrl="https://server.example.com:443/oidc/endpoint/OidcConfigSample/token"> </openidConnectClient>
Dans cet exemple de configuration minimale, les valeurs supposées par défaut sont les suivantes :- scope=openid profile : La portée openid est obligatoire et vous pouvez utiliser l'attribut scope pour éditer les portées obligatoires. Par exemple, vous pouvez remplacer la portée obligatoire scope par openid profile email.
- Cette partie utilisatrice enregistre son URL de redirection auprès du fournisseur OpenID en tant que https://<host name>:<ssl port>/oidcclient/redirect/client01, où le nom d'hôte et le port SSL sont automatiquement résolus, et client01 est l'ID de l'élément de configuration openidConnectClient. S'il y a un proxy en face de la partie utilisatrice, vous pouvez remplacer le nom d'hôte et le port par l'attribut redirectToRPHostAndPort, et définir redirectToRPHostAndPort sur https://<host name>:<ssl port>.
- Configurez un registre d'utilisateurs. Les identités qui sont renvoyées par le fournisseur OpenID ne sont pas mappées à un registre d'utilisateurs par défaut ; par conséquent, aucun utilisateur ne doit obligatoirement être configuré dans le registre. Toutefois, si l'attribut mapIdentityToRegistryUser de l'élément openidConnectClient est défini sur true, une entrée d'utilisateur pour l'identité appropriée doit être retournée par le fournisseur OpenID afin que l'authentification et l'autorisation aboutissent. Pour plus d'informations sur la configuration d'un registre d'utilisateurs, voir Configuration d'un registre d'utilisateurs pour le profil Liberty.
- Configurez le magasin de clés de confiance du serveur afin d'inclure le certificat de signataire des fournisseurs OpenID Connect qui sont pris en charge. Pour plus d'informations sur les magasins de clés, voir Activation de la communication SSL pour le profil Liberty.
- Modifiez la configuration SSL du serveur afin d'utiliser le
magasin de clés de confiance configuré.
<sslDefault sslRef="DefaultSSLSettings" /> <ssl id="DefaultSSLSettings" keyStoreRef="myKeyStore" trustStoreRef="myTrustStore" /> <keyStore id="myKeyStore" password="{xor}EzY9Oi0rJg==" type="jks" location="${server.config.dir}/resources/security/BasicKeyStore.jks" /> <keyStore id="myTrustStore" password="{xor}EzY9Oi0rJg==" type="jks" location="${server.config.dir}/resources/security/BasicTrustStore.jks" />
OpenID Connect est configuré pour utiliser la configuration SSL par défaut qui est spécifiée par le serveur. Par conséquent, la configuration SSL par défaut pour le serveur doit utiliser le magasin de clés de confiance qui est configuré pour OpenID Connect.
Facultatif : configurez un fournisseur OpenID Connect tiers.
Pour configurer le client Liberty OpenID Connect afin qu'il utilise un fournisseur OpenID Connect tiers (Microsoft Azure ou Google), vous devez configurez les attributs ci-après. Les valeurs d'attribut peuvent être obtenues en appelant le noeud final de reconnaissance du fournisseur OpenID, lequel fournit un document JSON dans le chemin formé par la concaténation de la chaîne /.well-known/openid-configuration vers l'émetteur.
- Définissez l'attribut jwkEndpointUrl sur l'URL du jeu de clés Web JSON du fournisseur OpenID JWK qui est défini sous la forme jwks_uri dans le fichier de reconnaissance. Par exemple, pour utiliser le fournisseur OpenID de Google, vous pouvez définir jwkEndpointUrl = "https://www.googleapis.com/oauth2/v2/certs".
- Définissez l'attribut issuerIdentifier sur l'élément issuer tel que défini dans le fichier de reconnaissance. Un jeton d'ID qui ne contient pas cette valeur sous la forme d'une demande iss est rejeté. Par exemple, vous pouvez définir issuerIdentifier="accounts.google.com"si vous utilisez Google comme fournisseur OpenID.
- Définissez signatureAlgorithm="RS256". L'algorithme de signature par défaut du client Liberty OpenID Connect est HS256.
- Définissez l'attribut userIdentityToCreateSubject sur un nom de demande utilisé par le jeton d'ID du fournisseur qui représente un identificateur unique d'utilisateur. Par exemple, vous pouvez définir userIdentityToCreateSubject ="email" si vous utilisez le fournisseur OpenID de Google, et userIdentityToCreateSubject ="upn" ou userIdentityToCreateSubject ="unique_name" si vous utilisez Microsoft Azure.
- Définissez l'attribut groupIdentifier sur le nom de demande qui représente les appartenances ou les rôles de groupe de l'utilisateur. Par exemple, vous pouvez définir groupIdentifier="groups" si vous utilisez Microsoft Azure.
Pour découvrir d'autres options de configuration du client OpenID Connect, voir Eléments de configuration dans le fichier server.xml.
Facultatif : filtre d'authentification.
Lorsque la fonction openidConnectClient-1.0 est activée et que l'élément openidConnectClient n'est pas configuré avec un attribut authFilterRef, toute demande non authentifiée est authentifiée via le fournisseur OpenID Connect.
Pour plus d'informations sur la configuration du filtre d'authentification, voir
Filtres d'authentification.
- Prenez en charge plusieurs fournisseurs OpenID Connect.
Vous pouvez configurer le profil Liberty en tant que partie utilisatrice OpenID Connect pour plusieurs fournisseurs OpenID Connect en créant plusieurs éléments openidConnectClient et plusieurs filtres d'authentification. Chaque élément openidConnectClient définit une relation de connexion unique avec un fournisseur OpenID Connect, et utilise l'attribut authFilterRef pour faire référence à un filtre d'authentification.
Résultats
Sous-rubriques
Appel du noeud final d'autorisation pour OpenID Connect
Dans OpenID Connect, le noeud final d'autorisation traite l'authentification et l'autorisation d'un utilisateur.Appel du noeud final de jeton pour OpenID Connect
Dans le Flux de code d'autorisation OpenID Connect, le noeud final de jeton est utilisé par un client pour obtenir un jeton d'ID, un jeton d'accès et un jeton d'actualisation.Appel du noeud final Introspection pour OpenID Connect
Le noeud final Introspection permet aux détenteurs de jetons d'accès de demander un ensemble de métadonnées concernant un jeton d'accès du fournisseur OpenID Connect qui l'a émis. Le jeton d'accès doit avoir été obtenu via l'authentification OpenID Connect ou OAuth.Appel du service de mappe de couverture
Le service de mappe de couverture est un noeud final non protégé qui renvoie un tableau JSON (JavaScript Object Notation) de préfixes URI terminés par une barre oblique. Ce tableau de préfixes URI désigne les contextes Web qui appartiennent à un groupe de connexion unique, ce qui permet aux clients de savoir si une destination d'URI est jugée sûre pour l'envoi d'un jeton d'accès.Appel du noeud final UserInfo pour OpenID Connect
Le noeud final UserInfo renvoie des demandes concernent un utilisateur qui est authentifié avec une authentification OpenID Connect.Appel du noeud final de gestion de session pour OpenID Connect
Le noeud final de gestion de session permet aux parties utilisatrices OpenID Connect de surveiller l'état de connexion d'un utilisateur à un fournisseur OpenID Connect tout en réduisant le trafic sur le réseau. Avec l'aide du noeud final de gestion de session, une partie utilisatrice peut déconnecter un utilisateur déconnecté du fournisseur OpenID Connect.

Dispositions pour les centres de documentation | Commentaires

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_oidc_rp
Nom du fichier : twlp_config_oidc_rp.html