ruby-on-rails - 两个带有设计的 Rails 应用程序 - 同步身份验证 (Helpy.io)
问题描述
我有一个带有 Devise 的标准 Rails 应用程序进行身份验证。我有第二个安装了 Helpy.io 的应用程序(也是设计)。我正在寻找两种情况:
- 主站点上经过身份验证的用户可以访问帮助站点
- 同步用户数据库,一旦您登录到主数据库,您将自动登录到帮助站点并可以打开工单等。
这是我为选项 1 尝试的开始:
我在两个站点上都设置了相同的SECRET_KEY_BASE
andSESSION_STORE
在 session_store.rb 中:
Rails.application.config.session_store :cookie_store, key: ENV['SESSION_STORE'], domain: 'mydomain'
在我的帮助站点上,我有一个应用程序控制器before_action
,如果特定会话变量为零(如果您注销,则会在主站点上清除),它会重定向到主站点。
什么有效
如果我在主站点上进行身份验证,则访问帮助站点一切正常。我可以浏览帮助站点等,但我没有登录(这对于现在的选项 1 来说很好)。我的用户可以浏览帮助站点并手动打开工单。如果我在主站点上注销并转到帮助站点,我的重定向就会启动,我最终会回到主应用程序登录页面。
什么是破碎
如果我从帮助站点导航回主站点,我会自动退出。我仍然可以访问帮助站点。如果我重新登录主站点再次正常工作,直到我返回帮助站点并重新开始该过程。
问题
我从哪里开始寻找在 Devise 或其他任何地方(假设是 Devise)中被清除的内容等,以使我的应用程序认为我不再经过身份验证?
解决方案
我最终选择了一个静态 Jeklly 网站和这种方法:
推荐阅读
- pycharm - 如何在 PyCharm 中为数据类自动生成文档字符串?
- c# - 为什么在 ASP.NET Core 中首先使用 DynamicRouteValueTransformer 评估动态包罗万象的路由?
- javascript - 我想随机化并添加平滑过渡到图像列表
- azure - 在 Azure 数据工厂数据映射活动中使用参数
- python - Tensorflow Python:无法使用 tf.train.Saver() 恢复变量:错误::未找到:检查点中未找到关键变量/亚当
- qt - Qt3D : MultiView 与 MultiCamera 控制器
- momentjs - moment.js - Tableau 扩展中的上一季度
- sql - 使用 SSMS 查询窗口执行大批量插入
- javascript - 为什么控制台丢弃未定义而不是输入值,React
- java - Firebase 身份验证仅适用于调试版本