URL ResetPassword
Réinitialise ou met à jour les mots de passe des utilisateurs. Cette commande fonctionne quel que soit le mode d'authentification : base de données, LDAP ou tiers.
La fonction ResetPassword peut être utilisée par les utilisateurs suivants :
- Les utilisateurs et administrateurs de la vitrine inscrits, pour mettre à jour leurs propres mots de passe, tout en étant authentifiés.
- Les utilisateurs inscrits qui souhaitent se connecter, mais qui ont oublié leur mot de passe. Ils peuvent utiliser cette commande pour réinitialiser leur mot de passe sans se connecter. Vous pouvez utiliser trois méthodes pour générer une connexion temporaire pour l'utilisateur:
Important : A partir de la version 9.1.7.0, les deux premières méthodes sont obsolètes et seront supprimées dans une version ultérieure.- Un mot de passe généré au hasard qui est envoyé par e-mail à l'utilisateur inscrit. Cette méthode est à présent obsolète.
- Un code de validation long basé sur l'ID et d'autres informations est envoyé par e-mail à l'utilisateur. L'utilisateur entre ensuite le code de validation et un nouveau mot de passe pour mettre à jour ses données d'identification de connexion. Cette méthode est à présent obsolète.
Pour plus d'informations, voir Configuration de Réinitialiser le mot de passe pour utiliser des codes de validation longs.
Un code de validation long n'est pas pratique dans tous les cas. Par exemple, lorsqu'un utilisateur travaille sur un téléphone mobile. Au lieu de cela, un code de validation numérique court est envoyé. Il s'agit de la méthode recommandée pour une utilisation avec HCL Commerce version 9.1.7.0 et ultérieure.Pour plus d'informations, voir Configuration de Réinitialiser le mot de passe pour utiliser des codes de validation courts.
Comme indiqué, les méthodes précédentes, bien que temporairement disponibles, seront finalement désactivées.
Utilisez cette adresse URL avec SSL (Secure Sockets Layer) pour garantir le chiffrement du mot de passe de connexion et des informations personnelles. Pour ce faire, entrez l'URL avec le protocole sécurisé HTTPS.
Structure de l'adresse URL
- http:// host_name/path/
- Nom qualifié complet du serveur HCL Commerce et chemin de configuration
Valeurs des paramètres
- langId
- Définit ou redéfinit la langue préférée pour la durée de la session ; les langues prises en charge dans un magasin sont répertoriées dans la table STORELANG
- URL
- Adresse URL à appeler une fois que la commande a abouti.
- storeId
- Numéro de référence du magasin.
- reLogonURL
- L'URL vers laquelle la commande ResetPassword est redirigée en cas de condition d'erreur
- logonId
- L'ID de connexion de l'utilisateur dont le mot de passe doit être réinitialisé
- challengeAnswer
- Répondre à la question secrète, utilisée pour confirmer l'identité de l'utilisateur
- logonPassword
- Le nouveau mot de passe de l'utilisateur
- logonPasswordOld
- Le mot de passe actuel de l'utilisateur
- logonPasswordVerify
- Mot de passe vérifié de l'utilisateur, qui doit être identique à logonPassword
- validationCode
- Code généré au hasard qui est envoyé par e-mail à l'utilisateur inscrit.
Exemple 1 : Réinitialiser le mot de passe sans être connecté (envoie un mot de passe temporaire par e-mail)
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?URL=basemall.jsp
&logonId=a&challengeAnswer=a
Si l'utilisateur est un invité, la commande vérifie que la réponse fournie à la question secrète correspond à celle de la base de données. Si la correspondance est réussie, elle génère un mot de passe aléatoire, met à jour la base de données et envoie le mot de passe à l'utilisateur (identifié par la valeur du paramètre logonId).
Exemple 2 : Réinitialiser le mot de passe en étant connecté
Cet exemple montre comment réinitialiser un mot de passe en spécifiant les anciens et nouveaux mots de passe pour les utilisateurs inscrits qui souhaitent mettre à jour leur mot de passe :
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?URL=basemall.jsp
&logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
Si l'utilisateur est un client ou un administrateur inscrit, il vérifie que l'ancien mot de passe est correct et que le nouveau mot de passe correspond au mot de passe vérifié. Il vérifie également que le mot de passe est conforme aux exigences définies par la stratégie de mot de passe de cet utilisateur. Si toutes les conditions sont remplies, il met à jour la base de données avec le nouveau mot de passe.
Exemple 3 : Réinitialiser le mot de passe sans être connecté (envoie un code de validation par e-mail)
-
Réinitialise un mot de passe en fournissant le logonId et la réponse secrète pour les utilisateurs inscrits qui ont peut-être oublié leur mot de passe.Remarque : Comme ils ont oublié leur mot de passe, ils ont besoin d'être exécutés en tant qu'invité :
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?logonId=jsmith&challengeAnswer=TheRedFoxFlies&URL=LogonFormSi l'utilisateur est un invité, la commande vérifie que la réponse fournie à la question secrète correspond à celle de la base de données. Si la correspondance est réussie, cela génère un code de validation et envoie le code par e-mail à l'utilisateur.
- Entre le code de validation, le nouveau mot de passe et la vérification du nouveau mot de passe. Cette étape doit être terminée dans le délai spécifié dans
ResetPasswordGuestCmdImpl.getExpiryPeriod(), 30 minutes par défaut.https://myhostname/webapp/wcs/stores/servlet/ResetPassword?validationCode=289213&logonPassword=Just4Fun!&logonPasswordVerify=Just4Fun!&URL=LogonForm
Comportement
- Cette commande appelle les instructions de tâches suivantes :
- GeneratePasswordCmd
- VerifyCredentialsCmd qui appelle l'une des instructions suivantes, selon le paramètre d'authentification :
- UpdateCredentialsCmd qui appelle l'une des instructions suivantes, selon le paramètre d'authentification :
- SendPasswordNotificationCmd
- ResetPasswordGuestCmd
- ResetPasswordGuestValidationCmd
- ResetPasswordGuestValidatePersistentCodeCmd
- ResetPasswordRegisterCmd
- AuthenticationPolicyCmd
- La commande vérifie les paramètres requis. Si les paramètres sont manquants ou non valides, il définit l'une des tâches d'erreur avec les codes d'erreur appropriés.
- Si l'utilisateur inscrit s'exécute en tant que client invité, cela vérifie que la réponse fournie à la question secrète correspond à celle de la base de données. Si la correspondance est réussie, cela génère un mot de passe aléatoire, met à jour la base de données et envoie le mot de passe au client par e-mail (identifié par la valeur du paramètre logonId).Remarque : La commande peut éventuellement être configurée pour envoyer un code de validation par e-mail à la place. L'utilisateur spécifie ensuite le code de validation ainsi qu'un nouveau mot de passe pour mettre à jour son mot de passe.
- Si l'utilisateur est un client ou un administrateur inscrit actuellement déconnecté, cela vérifie que l'ancien mot de passe est correct et que le nouveau mot de passe correspond au mot de passe vérifié. Il vérifie également que le mot de passe est conforme aux exigences définies par la stratégie de mot de passe de cet utilisateur. Si toutes les conditions sont remplies, il met à jour la base de données avec le nouveau mot de passe.
- Lorsque la commande se termine avec succès, elle appelle l'URL spécifiée.
- Les utilisateurs qui ont reçu un mot de passe aléatoire par la commande ResetPassword et qui se sont authentifiés par rapport à la base de données HCL Commerce devront modifier leur mot de passe après la première connexion avec ce nouveau mot de passe.
Conditions d'exception
En cas d'erreur, si vous spécifiez une URL d'erreur dans le paramètre reLogonURL, la commande ResetPassword est redirigée vers cette URL et un code d'erreur est placé sur la requête. Sinon, si vous n'utilisez pas le paramètre reLogonURL, la commande lancera une ECApplicationException et redirigera vers un affichage d'erreur en fonction de l'identité de l'utilisateur. Vous pouvez obtenir le code d'erreur à l'aide de la classe ErrorDataBean.
Si un paramètre requis est manquant ou incorrect, la commande ResetPassword définit l'un des codes d'erreur suivants, selon l'identité du demandeur. Ces codes d'erreur sont ajoutés à l'URL d'erreur spécifiée si vous utilisez le paramètre reLogonURL :
Affichage d'erreur basé sur l'identité :
- Utilisateur enregistré
- ResetPasswordRegisterErrorView
- Visiteur
- ResetPasswordGuestErrorView
Conditions d'erreur et codes d'erreur associés :
| Demandeur de commande | Condition d'erreur et code d'erreur associé |
|---|---|
| Utilisateur invité ou connecté. |
Remarque : Dans ce cas, la commande redirigera vers l'affichage d'erreur ResetPasswordView.
|
| Invité |
|
| Utilisateur connecté |
|
Le gestionnaire d'erreurs est ECConstants.EC_ERROR_CODE.