首页 > 解决方案 > 两个带有设计的 Rails 应用程序 - 同步身份验证 (Helpy.io)

问题描述

我有一个带有 Devise 的标准 Rails 应用程序进行身份验证。我有第二个安装了 Helpy.io 的应用程序(也是设计)。我正在寻找两种情况:

  1. 主站点上经过身份验证的用户可以访问帮助站点
  2. 同步用户数据库,一旦您登录到主数据库,您将自动登录到帮助站点并可以打开工单等。

这是我为选项 1 尝试的开始:

我在两个站点上都设置了相同的SECRET_KEY_BASEandSESSION_STORE在 session_store.rb 中:

Rails.application.config.session_store :cookie_store, key: ENV['SESSION_STORE'], domain: 'mydomain'

在我的帮助站点上,我有一个应用程序控制器before_action,如果特定会话变量为零(如果您注销,则会在主站点上清除),它会重定向到主站点。

什么有效

如果我在主站点上进行身份验证,则访问帮助站点一切正常。我可以浏览帮助站点等,但我没有登录(这对于现在的选项 1 来说很好)。我的用户可以浏览帮助站点并手动打开工单。如果我在主站点上注销并转到帮助站点,我的重定向就会启动,我最终会回到主应用程序登录页面。

什么是破碎

如果我从帮助站点导航回主站点,我会自动退出。我仍然可以访问帮助站点。如果我重新登录主站点再次正常工作,直到我返回帮助站点并重新开始该过程。

问题

我从哪里开始寻找在 Devise 或其他任何地方(假设是 Devise)中被清除的内容等,以使我的应用程序认为我不再经过身份验证?

标签: ruby-on-railsdevise

解决方案


我最终选择了一个静态 Jeklly 网站和这种方法:

使用设计验证静态文件?


推荐阅读