两个 Rails 具有 Devise - 同步身份验证的应用程序 (Helpy.io)

Two Rails app with Devise - Sync Authentication (Helpy.io)

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

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

以下是我为选项 1 尝试启动的方法:

我在两个站点上设置了相同的 SECRET_KEY_BASESESSION_STORE,在 session_store.rb:

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

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

有效方法

如果我在主站点上进行身份验证,然后访问帮助站点,一切正常。我可以浏览帮助站点等,但我没有登录(目前适合选项 1)。我的用户只需浏览帮助站点并手动打开工单。如果我在主站点上注销并转到帮助站点,我的重定向就会启动,我最终会回到主应用程序登录页面。

什么东西坏了

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

问题

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

我最终使用了静态 Jeklly 站点和这种方法: