我想实现的多个电源轨(V3.2)的单点登录解决方案的应用程序托管在example.com的不同的子域
一个应用程序用作身份提供者,使用设计为AUTH,并且在users.example.com坐在其他应用依靠身份提供者进行认证,使用色器件+ omniauth,具有的结构域[app1.example.com,app2.example .com和example.com]。 该博客文章引起不少我的执行: http://blog.joshsoftware.com/2010/12/16/multiple-applications-with-devise-omniauth-and-single-sign-on/
我有它工作正常,但问题依然存在,这些会议不共享等以后我登录的身份提供者,我仍然必须从每个其他应用程序的调用来验证,我需要这是无缝的用户。
我试图使用相同的秘密凭证在secret_token.rb,相同的会话密钥在session_store.rb和:域=>:所有(也试过“.example.com的”和‘example.com’作为值)。 仍然没有运气。
做上述,我看到一个session.inspect,关于身份提供者登录后的会话变量“warden.user.user.key”是稀少。 当我马上去上app1.example.com的应用程序,该session.inspect显示了相同的session_id和_csrf_token但“warden.user.user.key”变量现在下落不明。
我觉得我失去了一些东西傻..任何想法可能是什么?