我希望设置2个具有单点登录的rails应用程序(具有相同的tld)并共享一些用户数据。如果我有railsapp.com,我会将第二个应用程序设置为otherapp.railsapp.com或railsapp.com/otherapp。我很可能会有railsapp.com处理注册/登录等(如果这不是最好的解决方案,请打开建议。)
所以,让我说我注册并上传一个头像并开始累积主应用程序上的用户点,然后我可以浏览到另一个应用程序,我的个人资料中有正确的头像和总分。有没有一种简单的方法来实现这一目标?可用的SSO解决方案是否在具有相同用户ID的第二个应用程序中创建用户?如果没有,他们是如何捆绑在一起的? (即如何查询其他应用程序以获取我希望在2个用户点和头像之间共享的信息)我最初在寻找共享数据库或至少在2个应用程序之间的用户表,但我不能帮助思考必须有一个更容易的解决方案?
答案 0 :(得分:1)
我认为最简单的解决方案是,如果您在.railsapp.com
域上设置Cookie,则应在向otherapp.railsapp.com
或任何其他子域发出请求时发送该Cookie(只是强调它可能是一个安全问题)。请记住将cookie标记为安全!
您可能需要额外的一点,就是在数据库上存储身份验证令牌,以便在两个应用程序之间共享它们。
免责声明:我对Rails没有太多经验,所以我不确定像Devise这样的框架是否可以开箱即用。
好奇并且......谷歌得到了答案:http://codetheory.in/rails-devise-omniauth-sso/