Les fournisseurs d'identités incluent des sites tels que Google, Yahoo et Facebook. En tant qu'administrateur, vous pouvez sélectionner comment configurer l'authentification pour travailler avec ces fournisseurs d'identité.
Avant de commencer
Définissez l'heure de votre système sur l'heure locale.
Pourquoi et quand exécuter cette tâche
Les utilisateurs peuvent toujours s'inscrire et se connecter avec les données d'identification
HCL. La tâche
enable-identityprovider-tai permet de choisir entre les configurations suivantes :
A faire : Google et Yahoo sont des fournisseurs d'identité connus qui utilisent des spécifications OpenID. Facebook utilise OAuth.
Limitation : Si vous configurez Portal pour utiliser l'authentification OpenID avec YAHOO comme fournisseur d'identité, l'échange d'attributs ne fonctionne pas. Cette limitation implique que les attributs utilisateurs issus de votre compte OpenID YAHOO ne sont pas transférés à votre compte utilisateur de portail.
- Configuration de Facebook uniquement : les paramètres conçus pour Facebook sont utilisés.
- Configuration d'OpenID uniquement : les paramètres conçus pour OpenID sont utilisés.
- Configuration de Facebook et d'OpenID : les paramètres conçus pour Facebook etOpenID sont utilisés.
Procédure
- Si vous envisagez de configurer Facebook, enregistrez vos instances de serveur HCL en tant qu'applications Facebook. Vous devez enregistrer deux applications. Une application constitue le chemin protégé : /wps/myportal. L'autre application correspond au chemin public non protégé : /wps/portal.
Lorsque vous êtes enregistré, Facebook vous fournit un ID application et un secret d'application. Utilisez ces informations lorsque vous exécutez la tâche enable-identityprovider-tai.
Conseil : Votre application Facebook possède une URL privée et une URL publique. L'URL privée est http://yourserver:yourport/wps/myportal/. L'URL publique est http://yourserver:yourport/wps/portal/.
- Obligatoire : Exécutez la tâche suivante à partir du répertoire wp_profile_root\ConfigEngine avec les paramètres appropriés :
Cluster note : Exécutez cette étape sur le noeud principal uniquement.
ATTENTION : Si vous réexécutez la tâche enable-identityprovider-tai, elle définit de nouvelles propriétés et ne conserve pas les anciennes données de configuration. Si vous voulez conserver les données existantes vous devez ajouter les nouvelles valeur aux valeurs existantes avant de relancer l'exécution de la tâche.
- AIX® : ./ConfigEngine.sh enable-identityprovider-tai -DWasUserId=username -DWasPassword=password
- HP-UX: ./ConfigEngine.sh enable-identityprovider-tai -DWasUserId=username -DWasPassword=password
- IBM® i: ConfigEngine.sh enable-identityprovider-tai -DWasUserId=username -DWasPassword=password
- Linux™ : ./ConfigEngine.sh enable-identityprovider-tai -DWasUserId=username -DWasPassword=password
- Solaris: ./ConfigEngine.sh enable-identityprovider-tai -DWasUserId=username -DWasPassword=password
- Windows™ : ConfigEngine.bat enable-identityprovider-tai -DWasUserId=username -DWasPassword=password
Ajoutez les paramètres suivants pour personnaliser la tâche selon vos besoins métier :
- -Didp.providerlist
- Définissez la valeur sur facebook,openid si vous souhaitez configurer les deux options. Définissez la valeur sur facebook pour configurer Facebook uniquement. Définissez la valeur sur openid pour ne configurer que les fournisseurs d'identité qui utilisent les spécifications OpenID. Si vous laissez cette zone vide, la valeur par défaut est facebook.
- -Dfacebook_apps
- Si vous configurez Facebook, vous pouvez l'utiliser pour l'authentification (app), l'auto-inscription (pub) ou les deux (app,pub). La valeur par défaut est app. Définissez l'une des valeurs suivantes :
- application
- Configure l'authentification uniquement.
- pub
- Configure l'auto-inscription uniquement.
- app,pub
- Configure l'authentification et l'auto-inscription.
- -Dfacebook_app_id
- Si vous configurez Facebook pour l'authentification, définissez la valeur sur yourprivatefacebookappid, que vous avez reçue lorsque vous avez enregistré votre serveur Portal en tant qu'application Facebook privée. Cette valeur correspond à votre URL privée.
- -Dfacebook_app_secret
- Si vous configurez Facebook pour l'authentification, définissez la valeur sur yourprivatefacebookappsecret, que vous avez reçue lorsque vous avez enregistré votre serveur Portal en tant qu'application Facebook privée. Cette valeur correspond à votre URL privée.
- -Dfacebook_app_site
- Si vous configurez Facebook pour l'authentification, définissez la valeur sur http://yourserver:yourport/wps/myportal/. Cette valeur correspond à l'URL de votre serveur HCL privé utilisé par Facebook après une authentification réussie. Une zone protégée nécessite une authentification pour y accéder et n'est pas disponible pour un utilisateur anonyme.
- -Dfacebook_pub_id
- Si vous configurez Facebook pour l'auto-inscription, définissez la valeur sur yourpublicfacebookappid, valeur vous avez reçue lorsque vous avez enregistré votre serveur Portal en tant qu'application Facebook. Cette valeur correspond à votre URL publique.
- -Dfacebook_pub_secret
- Si vous configurez Facebook pour l'auto-inscription, définissez la valeur sur yourpublicfacebookappsecret, valeur vous avez reçue lorsque vous avez enregistré votre serveur Portal en tant qu'application Facebook. Cette valeur correspond à votre URL publique.
- -Dfacebook_pub_site
- Si vous configurez Facebook pour l'auto-inscription, définissez la valeur sur http://yourserver:yourport/wps/portal/. Cette valeur correspond à l'URL de votre serveur HCL public utilisé par Facebook après une authentification réussie. Une zone publique ne nécessite pas d'authentification pour y accéder et est disponible pour un utilisateur anonyme.
- -Dopenid.servicenames
- Si vous configurez des fournisseurs d'identités utilisant les spécifications OpenID, entrez une liste séparée par des virgules des fournisseurs d'identités à configurer, par exemple : Google,Yahoo.
- -Dopenid.servicenames.endpoints
- Si vous configurez des fournisseurs d'identité qui utilisent les spécifications OpenID, entrez une liste séparée par des virgules de noeuds finaux OpenID (adresses d'accès). Ces noeuds finaux sont pour les fournisseurs d'identité du paramètre openid.servicenames. Par exemple, entrez https://www.google.com/accounts/o8/id,https://me.yahoo.com/. Il doit exister une correspondance un à un entre les paramètres openid.servicenames et openid.servicenames.endpoints. Si vous avez entré trois fournisseurs d'identité au paramètre openid.servicenames, vous devez indiquer trois noeuds finaux au paramètre openid.servicenames.endpoints et dans le même ordre.
- -Dprovider.openid.nonce_valid_time
- Si vous configurez des fournisseurs d'identité qui utilisent les spécifications OpenID, entrez une valeur en secondes pour empêcher que des anciennes communications soient réutilisées dans des attaques par relecture. Si ce paramètre n'est pas défini, vous risquez de recevoir des erreurs nonce dans votre fichier SystemOut.log.
- Obligatoire : Procédez comme suit pour configurer les portlets Gestion du profil et Connexion :
Cluster note : Effectuez ces étapes sur un noeud du cluster.
- Log on to HCL as the administrator.
-
Click the Administration menu icon. Then, click .
- Localisez le portlet de connexion et cliquez sur l'icône Configurer le portlet.
- Configurez le portlet Connexion avec les paramètres suivants :
Conseil : Lors de l'authentification, le serveur HCL extrait les attributs du fournisseur d'identité. Les paramètres personnalisés, tels que les préférences linguistiques, ne sont pas automatiquement extraits. Vous devez ajouter ces paramètres dans Portal. Si le paramètre n'existe pas, entrez le nom du paramètre dans Nouvelle préférence et la valeur du paramètre dans Nouvelle valeur. Cliquez ensuite sur Ajouter pour ajouter le nouveau paramètre au portlet Connexion.
- show_idp_option
- Définissez ce paramètre obligatoire sur true pour afficher la fonction d'authentification du fournisseur d'identité dans le portlet.
- show_idp_max
- Définissez ce paramètre obligatoire sur le nombre maximal de fournisseurs d'identité affichés dans le portlet. Vous définissez la liste des fournisseurs lorsque vous exécutez la tâche enable-identityprovider-tai. Si vous avez défini cinq fournisseurs d'identité et que vous souhaitez en afficher deux dans le portlet, définissez ce paramètre sur 2. Deux fournisseurs d'identité seront affichés dans le portlet. Cliquez sur Plus pour afficher la liste complète des fournisseurs d'identité.
- show_idp_freeform_field
- Définissez ce paramètre obligatoire sur true pour utiliser la chaîne OpenID complète et non seulement certains services connus. Cette option affiche une zone à structure libre dans le portlet. Si ce paramètre est défini, les utilisateurs peuvent entrer n'importe quel identificateur OpenID.
- providernameImage
- providername représente le nom sensible à la casse du fournisseur d'identité. Par exemple, vous pouvez créer le paramètre Google.image. Définissez ce paramètre facultatif pour spécifier une image pour les boutons du fournisseur d'identité configuré. Vous pouvez indiquer si un bouton de texte ou une image sera affiché. Entrez l'URL de l'image du fournisseur d'identité.
- Cliquez sur OK pour enregistrer vos modifications.
- Localisez le portlet Gestion du profil et cliquez sur l'icône Configurer le portlet.
- Configurez le portlet Gestion du profil avec les paramètres suivants :
Conseil : Si le paramètre n'existe pas, entrez le nom du paramètre dans la zone Nouvelle préférence et sa valeur dans la zone Nouvelle valeur. Cliquez ensuite sur Ajouter pour ajouter le nouveau paramètre au portlet Gestion du profil.
- show_idp_option
- Définissez ce paramètre obligatoire sur true pour afficher la fonction d'authentification du fournisseur d'identité dans le portlet.
- show_idp_max
- Définissez ce paramètre obligatoire sur le nombre maximal de fournisseurs d'identité affichés dans le portlet. Vous définissez la liste des fournisseurs lorsque vous exécutez la tâche enable-identityprovider-tai. Si vous avez défini cinq fournisseurs d'identité et que vous souhaitez en afficher deux dans le portlet, définissez ce paramètre sur 2. Deux fournisseurs d'identité seront affichés dans le portlet. Cliquez sur Plus pour afficher la liste complète des fournisseurs d'identité.
- show_idp_freeform_field
- Définissez ce paramètre obligatoire sur true pour utiliser la chaîne OpenID complète et non seulement certains services connus. Cette option affiche une zone à structure libre dans le portlet. Si ce paramètre est défini, les utilisateurs peuvent entrer n'importe quel identificateur OpenID.
- providernameImage
- providername représente le nom sensible à la casse du fournisseur d'identité. Par exemple, vous pouvez créer le paramètre Google.image. Définissez ce paramètre facultatif pour spécifier une image pour les boutons du fournisseur d'identité configuré. Vous pouvez indiquer si un bouton de texte ou une image sera affiché. Entrez l'URL de l'image du fournisseur d'identité.
- providername.required
- providername correspond au nom sensible à la casse du service du fournisseur d'identité. Par exemple, vous pouvez créer le paramètre Google.required. Définissez ce paramètre facultatif pour spécifier les mappages d'attributs obligatoires voulus entre le fournisseur d'identité et le portlet Gestion du profil. Entrez une liste séparée par des points-virgules de paires de mappages d'attributs combinées avec une barre verticale (|). Par exemple, attributename|openidattribute. Vous devez créer un paramètre pour chaque fournisseur d'identités pris en charge, par exemple : Google.required et aol.required. Consultez la documentation relative aux schémas de chaque fournisseur d'identité pour plus d'informations sur les attributs pris en charge. Voici quelques exemples de mappages :
- Google : tout sur une seule ligne
-
ibm-primaryEmail|http://axschema.org/contact/email;
preferredLanguage|http://axschema.org/pref/language;
givenName|http://axschema.org/namePerson/first;
sn|http://axschema.org/namePerson/last
- Facebook : tout sur une seule ligne
-
ibm-primaryEmail|email;
givenName|first_name;
sn|last_name;
uid|id;
preferredLanguage|locale
- providername.optional
- providername représente le nom sensible à la casse du fournisseur d'identité. Par exemple, vous pouvez créer le paramètre Google.optional. Définissez ce paramètre pour spécifier les mappages d'attributs facultatifs voulus entre le fournisseur d'identité et le portlet Gestion du profil. Entrez une liste séparée par des points-virgules de paires de mappages d'attributs combinées avec une barre verticale (|). Vous pouvez créer un paramètre pour chaque fournisseur d'identités pris en charge, par exemple : Google.optional et aol.optional. Consultez la documentation relative aux schémas de chaque fournisseur d'identité pour plus d'informations sur les attributs pris en charge. Voici quelques exemples de mappages :
- Google : tout sur une seule ligne
-
ibm-primaryEmail|http://axschema.org/contact/email;
preferredLanguage|http://axschema.org/pref/language;
givenName|http://axschema.org/namePerson/first;
sn|http://axschema.org/namePerson/last
- Facebook : tout sur une seule ligne
-
ibm-primaryEmail|email;
givenName|first_name;
sn|last_name;
uid|id;
preferredLanguage|locale
- providername.protocol
- providername représente le nom sensible à la casse du fournisseur d'identité. Définissez ce paramètre obligatoire pour définir le protocole d'échange d'attribut du fournisseur d'identité. Les protocoles Simple Registration (SREG) et Attribute Exchange (AX) sont pris en charge. Les valeurs prises en charge pour les paramètres sont openid.sreg pour SREG ou openid.ax pour AX. Vous devez créer un paramètre pour chaque nom de fournisseur d'identités pris en charge, par exemple : Google.protocol et aol.protocol.
- facebook.required
- Définissez ce paramètre afin de définir les mappages d'attributs requis entre Facebook et le portlet Gestion du profil. Entrez une liste séparée par des points-virgules de paires de mappages d'attributs combinées avec une barre verticale (|).
Voici quelques exemples de mappages :
tout sur une seule ligne
- attributename|facebookattribute;
- attribute2|facebookattribute2
L'élément suivant est un exemple de mappage :
tout sur une seule ligne
- uid|id;ibm-primaryEmail|email;
- givenName|first_name;sn|last_name;
- preferredLanguage|locale
- Cliquez sur OK pour enregistrer vos modifications.
-
Vérifiez que les fichiers .jar ci-dessous ont été copiés dans le répertoire AppServer_root\lib\ext :
Cluster note : Effectuez cette étape sur chaque noeud du cluster.
- PortalServer_root\prereqs.infra\prereq.commons.httpclient\lib\ext\commons-codec-1.6.jar
- PortalServer_root\prereqs.infra\prereq.commons.httpclient\lib\ext\commons-httpclient-3.0.1.jar
- Obligatoire : Procédez comme suit pour ajouter des certificats SSL pour les fournisseurs d'identité configurés (certains fournisseurs nécessitent plusieurs certificats) :
Avertissement : Si un fournisseur d'identité utilise plusieurs noeuds finaux de serveur pour lesquels des certificats SSL différents sont nécessaires, vous pouvez recevoir le message d'erreur EJPAK0062E.
Cluster note : Dans un environnement en cluster, vous devez effectuer cette procédure sur le gestionnaire de déploiement.
Farm note : Dans un environnement en parc de serveurs, vous devez effectuer cette procédure sur chaque serveur du parc.
- Log on to the WebSphere® Integrated Solutions Console.
- Accédez à .
- Sous Paramètres de configuration, cliquez sur Gérer les configurations de sécurité du nœud final.
- Sous , cliquez sur l'option de serveur WebSphere_Portal.
- Sous Articles liés, cliquez sur Magasins de clés et certificats.
- Click NodeDefaultTrustStore.
Cluster note : Cliquez sur CellDefaultTrustStore au lieu de NodeDefaultTrustStore.
- Sous Propriétés supplémentaires, cliquez sur Certificats de signataires.
- Cliquez sur Récupérer à partir du port.
- Entrez les informations suivantes et cliquez sur Récupérer les informations du signataire :
- Host
- Entrez le nœud final pour le fournisseur d'identités sans indiquer le protocole, par exemple, http:// ou https://. Saisissez www.google.com pour Google ou graph.facebook.com pour Facebook.
- Port
- Entrez le numéro de port du fournisseur d'identité, par exemple, 443.
- Alias
- Entrez le nom d'alias de certificat qui est spécifié dans la configuration SSL. Par exemple, tapez graph.facebook.com_cert pour Facebook.
- Vérifiez les informations du signataire récupérées, puis cliquez sur Appliquer.
- Cliquez sur Sauvegarder.
-
Si vous recevez le message d'erreur EJPAK0062E, il vous manque peut-être un certificat. Ouvrez le fichier SystemOut.log et recherchez la balise CWPKI0022E: Echec de l'établissement d'une liaison SSL. Si ce message d'erreur est présent, importez le certificat dans un emplacement où domainname fait partie de SubjectDN.
- Obligatoire : Procédez comme suit pour arrêter et redémarrer le serveur WebSphere_Portal :
Cluster note : Relancez l'instance de serveur ou de cluster.
- Ouvrez une invite de commande et passez au répertoire suivant :
- Entrez la commande suivante pour arrêter le serveur WebSphere_Portal, où WebSphere_Portal est le nom du serveur HCL :
- AIX® : ./stopServer.sh WebSphere_Portal -username admin_userid -password admin_password
- HP-UX: ./stopServer.sh WebSphere_Portal -username admin_userid -password admin_password
- IBM® i: stopServer WebSphere_Portal -username admin_userid -password admin_password
- Linux™ : ./stopServer.sh WebSphere_Portal -username admin_userid -password admin_password
- Solaris: ./stopServer.sh WebSphere_Portal -username admin_userid -password admin_password
- Windows™ : stopServer.bat WebSphere_Portal -username admin_userid -password admin_password
- Entrez la commande suivante pour démarrer le serveur WebSphere_Portal, où WebSphere_Portal est le nom du serveur HCL :
- AIX® : ./startServer.sh WebSphere_Portal
- HP-UX: ./startServer.sh WebSphere_Portal
- IBM® i: startServer WebSphere_Portal
- Linux™ : ./startServer.sh WebSphere_Portal
- Solaris: ./startServer.sh WebSphere_Portal
- Windows™ : startServer.bat WebSphere_Portal
- Obligatoire : Procédez comme suit dans un environnement en cluster pour configurer l'instance de mémoire cache OpenidObjCache :
- Log on to the WebSphere® Integrated Solutions Console.
- Accédez à .
- Sélectionnez OpenidObjCache.
- Dans la section Paramètres de cohérence, définissez les valeurs suivantes :
- Cochez la case Activer la réplication de la cache.
- Sélectionnez Push et Pull comme type de réplication.
- Cliquez sur OK.
- Cliquez sur Sauvegarder.
- Arrêtez et redémarrez les serveurs de cluster pour propager les modifications.
- Facultatif : Vous devez modifier les attributs d'association de confiance du fournisseur d'identité en fonction des paramètres de sécurité de ce dernier. Procédez comme suit pour modifier l'association de confiance :
Cluster note : Effectuez ces étapes sur un noeud du cluster.
- Log on to the WebSphere® Integrated Solutions Console.
- Accédez à .
- Sélectionnez Intercepteurs, puis com.ibm.portal.auth.OpenIDTAI.
- Ajoutez ou modifiez des propriétés afin de modifier le comportement par défaut.
Par exemple, vous pouvez ajouter ou modifier les propriétés suivantes :
- bindattribute
- Cette propriété correspond à l'attribut de profil utilisateur qui contient l'ID utilisateur du fournisseur d'identité. La valeur par défaut est labeledURI.
- loginattribute
- Cette propriété définit l'attribut extrait du référentiel, qui identifie l'utilisateur de manière unique. La valeur par défaut est uid.
Résultats
De nouveaux utilisateurs peuvent enregistrer un nouveau profil HCL avec un fournisseur d'identité valide indiqué dans labeledURI. Des utilisateurs existants peuvent mettre à jour leur profil avec un fournisseur d'identité valide indiqué dans labeledURI. Pour permettre la mise à jour du profil, un référentiel d'utilisateurs inscriptible doit exister. Ils peuvent alors se connecter à HCL avec la zone de connexion de remplacement. Ils sont redirigés vers la page de connexion du fournisseur d'identité.