gpt4 book ai didi

ruby-on-rails - 单点登录,同一服务器上的多个域,ruby on rails

转载 作者:行者123 更新时间:2023-12-04 05:57:46 24 4
gpt4 key购买 nike

如果我有一个具有多个域的单个服务器,那么在同一域上实现单点登录解决方案的首选方法是什么。我目前正在使用设计,在不同的域上放置了几百万个 cookie,但卡住了。除了实现 SSO 之外,我还需要将各种 cookie 迁移到中央域。关于各种服务器,它们只有一个页面,需要我根据用户是否登录来显示不同的状态。

我尝试了以下方法:

  • CORS:选择一个域作为中央身份验证中心。从所有其他域进行跨域检查以查看用户是否已登录。对于迁移 cookie,检测是​​否存在“current_user”对象,将其发送到客户端,发出 CORS 请求,登录用户并终止 token 。很好用!但是......在构建它 2-3 周后,它在 IE 中完全失败。即使是 IE11,我也注意到默认设置是禁用此行为。
  • 尝试修改 session 存储
     Rails.application.config.session_store

  • 没有运气。

    我目前正在试验以下内容:
  • JSONP:我现在有人尝试将上述内容转换为 JSONP,而我尝试了其他一些选项:
  • 设置自定义 OAUTH 提供程序。像以前一样,如果此人已登录,它将是“中央域”,并使用用户可以从中发出请求的 token 返回到请求的域。 https://github.com/songkick/oauth2-provider
  • 看着这个,但它看起来过时了? https://github.com/rubycas/rubycas-client .我也有一种感觉,如果我从一开始就推出它,这可能是一个解决方案,但考虑到我们进入项目的程度,我不清楚我将如何转移现有的 cookie。也不清楚这是否需要我启动和运行两个应用程序(一个用于客户端,一个用于身份验证服务器)

  • 当我经历每一种可能性时,如果有人对我正在做的事情有任何经验,请通知我并为我节省大量工作:)

    最佳答案

    除非这是一个玩具应用程序,否则最好的方法可能是设置 oauth 提供程序。

    我们使用 Doorkeeper为此设计,效果很好。如果您还不熟悉该策略,那么花一点时间阅读文档并在 youtube 上观看一两场演讲是值得的,但是一旦您了解了核心概念,它实际上很容易设置这颗 gem 的帮助。

    http://railscasts.com/episodes/353-oauth-with-doorkeeper 上有一个快速视频运行

    关于ruby-on-rails - 单点登录,同一服务器上的多个域,ruby on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988764/

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