如何在nodejs中使用facebook登录

Posted

技术标签:

【中文标题】如何在nodejs中使用facebook登录【英文标题】:how to use facebook login in nodejs 【发布时间】:2018-07-29 02:26:21 【问题描述】:

我一直在开发一个 Web 应用程序,它在 frontendnodejs 在后端具有 angular。 前端使用 facebook 登录按钮(js-sdk)并获取用户数据(使用图形 API)。 同时nodejs还有一些rest APIs。我正在尝试为rest APIs添加认证。我读到了护照-facebook。我尝试实现它。

但问题是当用户单击 UI 中的登录按钮时(facebook 登录页面即将到来,用户可以登录到 facebook)。之后,如果我尝试访问任何节点 API,它仍然会重定向到登录页面。

有什么办法可以避免这种情况吗? 是否有其他方法可以向 REST APIS 添加身份验证(无需密码)?

在此先感谢。如有任何帮助,我们将不胜感激。

【问题讨论】:

【参考方案1】:

您可以查看我的tutorial,它是根据您的用例编写的。

passport-facebook 不适合在创建 REST API 时使用。在这种情况下,最好使用passport-facebook-token。至少这是我的经验。 passport-facebook-token可以找到here。

当用户完成 Facebook 登录后,您的 Node.js 后端应创建用于识别用户的令牌。之后,每当用户尝试通过您的 Angular.js 应用程序从 REST API 访问数据时,它都应该发送该令牌。令牌不是 Facebook 提供给您的应用程序的东西,它是您的应用程序在用户登录时创建的东西。

【讨论】:

以上是关于如何在nodejs中使用facebook登录的主要内容,如果未能解决你的问题,请参考以下文章

如何使用内置的 facebook 帐户在 IOS 中进行 Facebook 登录?

如何在 iOS App 中使用 Facebook 登录缓存 Facebook 用户信息

如何在 iOS 应用中使用 Facebook 实现登录

SwiftUI Facebook 登录:如何在视图中获取 Facebook id?

如何在 asp.net 4.5 中使用 facebook 帐户开发登录

如何在网站中结合facebook登录和本机登录之间的会话