Passer au contenu principal
Toutes les collectionsFonctionnalités et API
Implémentez la fonctionnalité de mot de passe oublié avec le webhook brainCloud
Implémentez la fonctionnalité de mot de passe oublié avec le webhook brainCloud

mot de passe oublié, webhook

Jason Liang avatar
Écrit par Jason Liang
Mis à jour il y a plus de 2 semaines

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 commande Application.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...

Avez-vous trouvé la réponse à votre question ?