gpt4 book ai didi

angularjs - 使用 MEAN.js Restful sessionless API 后端的 Oauth 社交登录

转载 作者:行者123 更新时间:2023-12-03 22:23:13 24 4
gpt4 key购买 nike

我正在使用 MEAN.js 开发一个 Restful API,它将被一个 AngularJS 网站和 Phonegap 移动应用程序使用。

我希望用户能够使用 Faceboo、Google 和 Twitter 创建帐户和/或登录。

我正在尝试使用 MEAN.js 种子应用程序附带的相同示例代码,但在它的 Node 端,在仅提供 API 的端口 3000 上,以及在另一台服务器上运行的网站(当前在端口 9000 上)。

我已经使用 Passport 自定义本地策略实现了 token 身份验证,该策略生成一个 token ,并使用承载策略来验证 API 调用。

但是我在社交登录方面遇到了问题,无法将社交帐户链接到现有用户。

我从 Angular 客户端调用一个 api 端点,它将用户重定向到 oauth 提供程序(例如 Twitter)。当用户回来时,我的服务不知道登录的用户,因为我不再使用 session 了。

我尝试将提供者 token 返回给客户端,但在解析 anguler url 时遇到问题。然后我在 angular 之外编写了另一个页面,该页面接收提供者 token 并调用 api 端点,发送 oauth token 和我的 api 发出的 token 。它适用于谷歌,但不适用于 Twitter。看来 twitter 需要一个 session 。

无论如何,实现我想要的最佳方法是什么?我怎样才能使这项工作?

最佳答案

由于您使用的是 Angularjs,请查看这个 Angularjs 库 https://github.com/sahat/satellizer .该库几乎会打开一个 oauth 弹出窗口并检查弹出窗口 url 中的 token 。您可以轻松复制该方法或仅​​使用此库。它与 Twitter 等一些社交媒体提供商合作,并且可以轻松添加更多内容。

关于angularjs - 使用 MEAN.js Restful sessionless API 后端的 Oauth 社交登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29166609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com