使用Facebook策略的Passport NodeJS身份验证

3
我正在使用NodeJS开发一个项目,希望能够通过用户名/密码或Facebook登录。我搜索并找到了一个名为http://passportjs.org/的NodeJS模块,它集成了不同社交平台(Facebook、Twitter等)的策略。
登录后,我还想访问有关用户的不同信息,例如好友列表,发布在他们的墙上等等。从我看到的内容来看,passport的Facebook策略不支持此功能。
我的第二个选择是使用https://github.com/amachang/facebook-node-sdk。这允许我登录,并获取好友列表,发布在用户墙上等等。
是否可以同时使用两者?使用passport的Facebook策略登录,然后将令牌传递给Facebook SDK API以在用户墙上发布。
最佳方法是什么?您如何看待与Facebook的集成?
非常感谢您的回答。
1个回答

7
护照确实支持此功能。您可以像这样在范围对象中指定权限:
app.get('/auth/facebook',
passport.authenticate('facebook', { scope: ['read_stream', 'publish_actions'] })
);

这在Passport文档中提到过。 这里是您可以向Facebook实际请求的权限列表。


非常感谢您的帮助。我不知道这个。您能否向我展示如何使用护照执行不同的操作,例如在用户的墙上写入或获取朋友列表?我会非常感慕。再次感谢。 - SilVeR AleCS
@SilVeRAleCS,使用护照可以获取带有权限的令牌,以获取用户好友列表或在其墙上写入内容。一旦获得访问令牌,您应该使用Facebook API或Node Facebook SDK来执行这些操作。 - Akshat Jiwan Sharma
非常有帮助。谢谢!Graph API Explorer非常好地解释了指定权限和从端点请求数据的概念:https://developers.facebook.com/tools/explorer/ - Adrienne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接