HCL Commerce Version 9.1.5.0 or later

Activation de la connexion unique

L'activation de la connexion unique préserve l'authentification des utilisateurs en basculant entre HCL Commerce et d'autres applications Web. L'utilisation de la connexion unique HTTP permet à l'utilisateur de ne pas avoir à entrer à plusieurs reprises ses autorisations d'accès au sein d'un domaine de confiance.

Les instructions suivantes sont fournies pour activer la connexion unique lorsque HCL Commerce est configuré pour utiliser LDAP et que l'application Web pour laquelle vous l'activez partage le même serveur LDAP.

Avant de commencer

Procédure

  1. Activez la SSO dans votre déploiement HCL Commerce.
    MéthodeProcédure
    HCL Commerce Version 9.1.5.0 or laterUtilisation de commandes Run Engine
    1. Ajoutez la commande enable SSO à custConfiguration.sh.
      Par exemple :
      #!/bin/bash
      run enable-sso domainName true
      run set-system-property SingleSignOnEnabled true

      Où un exemple de domainName est mydomain.com.

    2. Dans le fichier Docker, copiez custConfiguration.sh vers /SETUP/bin/custConfiguration.sh et remplacez les autorisations du fichier par 755.
      Par exemple :
      COPY custConfiguration.sh /SETUP/bin
      RUN chmod 755 /SETUP/bin/custConfiguration.sh
      
    3. Générez l'image Docker ts-app personnalisée.
    HCL Commerce Version 9.1.12.0 or laterUtilisation de configurations Vault Définissez les valeurs de SSO suivantes dans Vault.
    Tenant/EnvName/EnvType/ssoEnable:true 
    Tenant/EnvName/EnvType/ssoDomainName: domainName 
    Tenant/EnvName/EnvType/ssoSSL: boolean

    Pour plus d'informations sur ces valeurs, voir les configurations liées à la SSO unique dans la référence Données d'environnement dans Vault.

  2. Facultatif : Si HCL Commerce est le maître de la configuration SSO, générez et exportez le fichier de clés pour HCL Commerce.
    • HCL Commerce Developer
      1. Vérifiez que WebSphere Application Server est lancé.
      2. Ouvrez le WebSphere Application Server Administrative Console.
      3. Développez le nœud Sécurité et cliquez sur Sécurité globale.
      4. Dans la section Authentification, cliquez sur LTPA.
      5. Dans la section Ouverture d'une session intercellulaire, entrez et vérifiez le mot de passe du jeton LTPA que vous exportez.
      6. Entrez le nom de magasin de clés qualifié complet. Ce nom correspond à l'emplacement de répertoire et au nom de fichier du fichier de clés qui doit être importé sur le serveur pour l'autre application.
      7. Cliquez sur Exporter.
      8. Cliquez sur Appliquer > Sauvegarde dans la configuration principale.
      9. Accédez au répertoire que vous avez spécifié pour le fichier de clés et vérifiez que la clé a été générée.
      10. Copiez ce fichier de clés exporté depuis le système de fichiers HCL Commerce et importez la clé dans le système de fichiers du serveur pour l'autre application.
    • Linux
      1. A partir du conteneur ts-app, exécutez la commande suivante pour exporter le jeton LTPA.
        export-ltpa-keys ltpaKeyFile password
        Par exemple :
        export-ltpa-keys /SETUP/ltpa.key passw0rd
      2. Copiez et enregistrez le fichier ltpa.key localement.
        docker cp bvt_txn_1:/SETUP/ltpa.key ltpa.key
  3. Facultatif : Si une autre application est le maître de la connexion unique, importez le fichier de clés de l'autre application dans HCL Commerce.
    1. Copiez le fichier de clés généré depuis le système de fichiers du serveur pour l'autre application vers le système de fichiers pour HCL Commerce.
    2. Ouvrez la console d'administration WebSphere Application Server.
    3. Développez le nœud Sécurité et cliquez sur Sécurité globale.
    4. Dans la section Authentification, sélectionnez LTPA.
    5. Dans la section Ouverture d'une session intercellulaire, entrez et vérifiez le mot de passe du jeton LTPA que vous importez.
    6. Entrez le nom de magasin de clés qualifié complet du fichier de clés que vous avez copié depuis le système de fichiers de l'autre application.
    7. Cliquez sur Importer les clés.
    8. Cliquez sur Appliquer > Sauvegarde dans la configuration principale.
    9. Redémarrez les serveurs pour HCL Commerce et pour l'autre application.
  4. Facultatif : Configurez les rôles qui sont automatiquement affectés aux utilisateurs qui utilisent la connexion unique (SSO) pour se connecter à HCL Commerce à partir d'une autre application.
    1. Modifiez MemberRegistrationAttributes.xml.

      Lorsqu'un utilisateur se connecte à HCL Commerce à l'aide de la connexion unique, un rôle lui est affecté dans HCL Commerce à partir du fichier MemberRegistrationAttributes.xml avec registrationType = "SSO". Pour plus d'informations, voir Fichiers XML et DTD MemberRegistrationAttributes.

      Dans HCL Commerce, les rôles de sécurité sont affectés dans le cadre du processus d'enregistrement. Grâce à la fonction de connexion unique, un client peut éviter l'étape d'enregistrement sur votre site s'il s'est authentifié sur un système connexe. La possibilité d'être authentifié de façon implicite sur un site HCL Commerce n'a guère d'importance lorsqu'un utilisateur se voit refuser l'accès aux fonctions qu'il souhaite utiliser, par exemple, pour faire des achats dans un magasin. C'est pourquoi la même fonctionnalité d'affectation automatique de rôle disponible pour l'enregistrement des utilisateurs est intégrée au code de gestion des sessions. Dans ce cas, configurez les rôles pour les clients de connexion unique en utilisant le type d'enregistrement "SSO". Ainsi, lorsqu'un client est authentifié sur le système, HCL Commerce fournit automatiquement tous les rôles dont il a besoin pour le site. N'oubliez pas que l'affectation des rôles pour la connexion unique s'effectue au niveau du site et non d'un magasin (comme c'est le cas avec l'enregistrement classique des utilisateurs). Par conséquent, assurez-vous que l'attribut storeAncestor spécifié est réellement un ancêtre du site (magasin 0).

      L'exemple suivant affecte quatre rôles à un client qui se connecte au système via la connexion unique. Cet exemple affecte un rôle aux clients figurant quelque part sur le serveur LDAP au-dessous de l'organisation par défaut (en raison de la valeur de memberAncestor spécifiée).

      Example:
      <User registrationType="SSO" memberAncestor="o=Default Organization,o=Root Organization" storeAncestor="o=Root Organization">
        <Role name="Registered Customer" roleContext="explicit" DN="o=Reseller Organization,o=Root Organization"/>
        <Role name="Registered Customer" roleContext="explicit" DN="o=Seller Organization,o=Root Organization"/>
        <Role name="Registered Customer" roleContext="explicit" DN="o=Supplier Organization,o=Root Organization"/>
        <Role name="Registered Customer" roleContext="explicit" DN="ou=Supplier Hub Organization,o=Business Indirect Supplier Organization, o=Root Organization"/>
      </User>
      
    2. Linux Copiez le fichier personnalisé à l'emplacement suivant dans ts-app Docker et créez une image personnalisée : /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/member
  5. Facultatif : Si des jetons LTPA sont utilisés, il est possible de leur permettre de conserver une session active au-delà de l'expiration de la session HCL Commerce standard. Le jeton LTPA est vérifié uniquement lorsque la session est arrivée à expiration. S'il est valide, il actualise la session.
    1. Accédez au répertoire suivant :
      • Linux<workspace_dir>/WC/xml/config/
    2. Ouvrez le fichier wc-server.xml pour l'éditer.
    3. Modifiez la valeur de keepAliveSession en true, comme mis en évidence dans le code suivant :
      
      <MemberSubSystem AuthenticationMode="LDAP" ProfileDataStorage="LDAP">
      <Directory EntryFileName="ldap/ldapentry.xml" MigrateUsersFromWCSdb="ON" 
      SingleSignOn="1" display="false" keepAliveSession="true"/>
      <SyncOrganizationWxclusionList display="false"/>
      <ResetPassword resetNullPasswordEnabled="true"/>
    4. Enregistrez et fermez le fichier.
    5. Linux Créez une image personnalisée avec cette modification.
  6. HCL Commerce Developer Redémarrez le WebSphere Application Server.

Que faire ensuite

Pour des raisons de sécurité, lorsque la connexion unique est activée, les utilisateurs doivent fermer tous les navigateurs Web après leur déconnexion du Management Center.