Passport.js: passeport-facebook-jeton de la stratégie, de la connexion par le biais de JS SDK et ENSUITE s'authentifier passeport?
J'étais à la recherche d'un moyen pour que mon client autoriser avec le facebook JS SDK, puis en quelque sorte de transfert de la présente autorisation à mon nœud de serveur (donc il peut vérifier les demandes avec le fb api graphique)
Je suis tombé sur:
https://github.com/jaredhanson/passport-facebook/issues/26
&
https://github.com/drudge/passport-facebook-token
ce qui semble être une tout autre stratégie de passeport, de facebook.
Suis-je correct lorsqu'on fait l'hypothèse que:
L'on se connecte avec le fb JS SDK, puis le facebook du jeton de stratégie en quelque sorte des extraits du jeton et fb id du document ou de l'objet body?
Ou est-il de toute autre manière décente pour y parvenir? Je suis à savoir en essayant d'éviter les redirections exécutée par le serveur Sdk
- Après quelques recherches je pense à la req.corps.accessToken doit être défini par le client, puis il peut être repris par passeport-facebook-jeton?
Vous devez vous connecter pour publier un commentaire.
J'ai passé une couple de jours de cette semaine à essayer de comprendre la meilleure façon d'utiliser Facebook Authentification pour une API privée, à l'aide de passport.js — passeport-facebook-jeton est parfait pour cela.
Vous avez raison de supposer il s'agit de deux stratégies d'authentification. Vous n'avez pas besoin de passeport, de facebook pour l'utilisation du passeport-facebook-jeton.
Si vous avez Facebook d'authentification mis en œuvre dans le côté client en JS (ou iOS, etc.), et sont à la recherche d'un moyen pour ensuite s'authentifier les requêtes de l'API à l'aide de votre nom d'utilisateur Facebook authToken, passeport-facebook-jeton est vraiment une solution élégante.
passeport-facebook-jeton fonctionne de façon totalement indépendante de passeport, de facebook, et fondamentalement gère les redirections nécessaires par Facebook en interne, avant de transmettre la demande ainsi que de votre contrôleur.
Afin d'authentifier une API itinéraire à l'aide de passeport-facebook-jeton, vous aurez besoin de mettre en place un passeport de la stratégie de la sorte:
Il est intéressant de noter que la
User.findOrCreate
méthode utilisée dans le passeport-facebook-jeton Readme n'est pas un défaut mongo/mangouste méthode, mais un plugin que vous aurez à installer si vous le souhaitez.Pour utiliser cette auth stratégie en tant que middleware pour l'un de vos routes, vous aurez besoin de passer un
access_token
objet en tant que paramètre de l'URL, ou comme une propriété du corps de la requête.NB. le
access_token
propriété est sensible à la casse et utilise un trait de soulignement.La documentation de passeport-facebook-jeton n'est pas vaste, mais la source est vraiment bien documenté et assez facile à lire, donc je vous encourage à jeter un oeil sous le capot, là. Il m'a bien aidé envelopper ma tête autour de quelques façons que passeport œuvres.
FB.login()
) si le jeton a été expiré. Cela fait un bon moment depuis que j'ai ma tête dans ce genre de choses mais...