Pour les utilisateurs disposant d'une adresse e-mail ou d'un mot de passe dans brainCloud, il est courant d'avoir une fonctionnalité de mot de passe oublié dans l'application. Cette fonctionnalité peut être activée grâce au webhook de brainCloud. Cet article vous explique la procédure à suivre.
Créez un script de code cloud avec un nom
webhook_forgotPassword
, collez le code suivant dans le script."use strict";
function main() {
var response = {};
bridge.logDebugJson("Script inputs", data);
var userEmail = data.parameters.email;
response.stringResponse = "webhook is processing user email reseting..." + data.parameters.email;
// validation de l'e-mail de l'utilisateur
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(userEmail)) {
// vérification si l'e-mail existe dans les utilisateurs brainCloud
var context = {
"pagination": {
"rowsPerPage": 20,
"pageNumber": 1
},
"searchCriteria": {
"emailAddress": userEmail
},
"sortCriteria": {
"playerName": 1
}
};
var userProxy = bridge.getUserServiceProxy();
var postResult = userProxy.sysGetPage(context);
if (postResult.data.results.count > 0) {
var userProfileID = postResult.data.results.items[0].profileId;
// envoi d'un e-mail de réinitialisation du mot de passe
postResult = userProxy.sysSendPasswordResetEmail(userProfileID);
if (postResult.status == 200) {
response.stringResponse = "password reset email has been sent to user's email:" + userEmail;
} else {
response.stringResponse = "system error with sending email...";
}
} else {
response.stringResponse = "user doesn't exist with the email you provided";
}
} else {
response.stringResponse = "user's email is invalid.";
}
return response;
}
main();Ouvrez la page Conception | Cloud Code | Web Hooks et créez un lien WebHook vers le script créé à l'étape précédente. Copiez-le
WebHook URL
pour l'étape suivante.Vous avez maintenant terminé le travail effectué depuis brainCloud. Ouvrez ensuite l'éditeur de votre application cliente, définissez le
WebHook URL
comme variable et liez-le à l'événement onClick de votre objet forgotEmail (lien ou bouton dans votre application), afin qu'il déclenche cette URL lorsque l'utilisateur clique sur l'objet (si vous utilisez Unity, vous pouvez utiliser la commandeApplication.OpenURL
). Prenez ensuite l'adresse e-mail saisie par l'utilisateur et ajoutez-la comme paramètre d'adresse e-mail à l'URL comme suit:const string passwordResetWebhookUrl = "https://portal.braincloudservers.com/webhook/12832/forgotPassword/6dc675bb-f8b4-495f-ac5e-1f0658bfe09c";
Application.OpenURL(passwordResetWebhookUrl + "?email=" + userEmail);Exécutez votre application pour tester, vous devriez obtenir une fenêtre contextuelle similaire à celle-ci une fois qu'un utilisateur clique sur l'objet forgotEmail
Terminé, vérifiez l'e-mail de réinitialisation reçu dans votre compte de messagerie de test...