3

J'ai utilisé ember-simple-auth pour fb login.Je suis capable d'aller chercher le fb's access_token et d'envoyer le token à mon serveur pour l'échange de jeton de serveur.Ceci fonctionne bien et Je suis capable de faire ma transition vers la page d'alimentation de l'utilisateur. Mais le problème auquel je suis confronté est pour la première fois l'utilisateur. Je dois leur montrer l'écran d'accueil avant de les prendre à leur écran d'alimentation.Et de la prochaine fois je peux sauter l'onboarding processus pour eux.Enregistrer les données dans localstorage de browers en auth simple braderie

torii.js

export default Torii.extend({ 
    torii: service('torii'), 

    authenticate() { 
    return new RSVP.Promise((resolve, reject) => { 
     this._super(...arguments).then((data) => { 
     console.log(data.accessToken); 
     raw({ 
      url:  'http://example.co.in/api/socialsignup/', 
      type:  'POST', 
      dataType: 'json', 
      data:  { 'access_token':data.accessToken,'provider':'facebook'} 
     }).then((response) => { 
      console.log(response.token); 
      resolve({ 
      // jscs:disable requireCamelCaseOrUpperCaseIdentifiers 
      access_token: response.token, 
      // jscs:enable requireCamelCaseOrUpperCaseIdentifiers 
      provider: data.provider 
      }); 
     }, reject); 
     }, reject); 
    }); 
    } 
}); 

La réponse pour que je reçois de mon serveur est quelque chose comme ça.

Pour la première utilisation.

{access_token:'abcd...',signup_done:false} 

Lorsque Signup_done est faux je dois montrer utilisateur l'écran Onboarding et faire une requête POST au serveur « http://example.co.in/api/post/signupdone »

Pour utilisateur normal

{access_token:'abcd...',singup_done:true} 

Cette fois-ci, je dois juste déplacez l'utilisateur vers l'écran d'alimentation en ignorant l'écran d'intégration. Je veux sauver le singup_done du serveur à mon cookie ou au stockage local de brower (pas sûr) .So que je peux employer cette valeur dans mon guidon, contrôleur, modèle, composant. Je suis également ouvert à l'autre suggestion pour accomplir ceci avec la méthode simple. Veuillez utiliser le code à l'exemple. Merci d'avance.

Répondre

1

Vous pouvez enregistrer les données dans data de la session en mettant simplement:

this.get('session').set('data.signupDone', true);

De cette façon signupDone sera persistée (également lorsque la session est invalidée). Bien sûr, si l'utilisateur se connecte dans un autre navigateur, les données ne seront plus présentes, donc vous devriez probablement stocker la propriété dans une ressource côté serveur.