gpt4 book ai didi

javascript - 使用 EasyXDM 进行跨域身份验证

转载 作者:行者123 更新时间:2023-11-30 00:28:01 26 4
gpt4 key购买 nike

我正在尝试像 Google 那样进行登录,其中包括跨域身份验证。当登录到 google.com 时,您会自动登录不同的域,例如 youtube.com。对我来说,它看起来像:

  • 您在 accounts.google.com 上输入凭据
  • Google 通过 AJAX 发送请求以检查它们
  • 如果它们是正确的,它 1. 设置一个 cookie 和 2. 向其他域(如 youtube)发出请求并发送一些标识符(SID 或 token ?)并为这些域设置 cookie
  • 在所有其他域也有 cookie 之后,Google 会将您重定向回您来自的地方

我进行了大量研究,似乎 easyXDM ( http://easyxdm.net/wp/) 是一个很好的解决方案(您认为是吗?)。但是我不确定如何进行跨域身份验证。当用户正确登录时,我是否应该向其他域发出请求并传递 SID 并在域上创建 cookie?还是不安全?或者我应该在登录后为用户创建一个 token 并将其存储在我的数据库中。然后将 token 发送到所有域以验证他,然后删除 token ?

我发现的其他一些东西是通过 iframes 中的 iframes 的解决方案。谷歌的 analytics.js ( https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain ) 看起来也很令人兴奋......但我看到它甚至集成在 easyXDM 中。

我希望你们有这方面的经验。我很想知道你的想法:) gerti

最佳答案

您想要的是 OAuth2(这是您所指的协议(protocol) -- Google 登录所做的)。

如果您正在寻找一个简单的解决方案,您可能想尝试使用类似 Stormpath 的方法+ IDsite .这是一项您可以注册/使用的免费 API 服务。

基本上,他们会为您托管一个域,当您希望用户创建帐户或登录时,您可以在其中重定向用户。然后他们会处理所有身份验证/授权(跨域),并向您发回使用 JSON 网络 token (JWT) 对用户进行身份验证。

Stormpath 有一堆用于各种编程语言的库,您可以从这里开始:https://docs.stormpath.com/home/

人们通常采用的其他解决方案需要相当多的时间/精力才能运行。实际上,我已经帮助构建了很多 Stormpath 库(在 Node/Python 中),所以我对它非常熟悉——就简单性而言,你真的无法超越它。

关于javascript - 使用 EasyXDM 进行跨域身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30682560/

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