我在 example.com 中安装了一个使用 Clearan 作为身份验证 gem 的 Web 应用程序,我目前正在开发一个独立的 Rails 应用程序 jobs.example.com。
我想知道 Clearance 是否内置了跨不同子域上托管的 Rails 应用程序的用户会话持久性的配置。我是否需要通过 API 从原始应用程序 (example.com) 导入用户身份验证详细信息并操作 cookie 来执行此操作?
任何帮助/建议将不胜感激!
您可以通过使用 cookie_domain
配置(请参阅文档)并同步每个系统所需的用户数据来实现这一点,但这几乎肯定会是一个真正的大痛苦。如果应用必须与单独的数据库分开,则可能需要调查使主应用成为 Oauth 提供程序,并使作业成为 Oauth 使用者。身份验证本身将存在于您的主应用程序中,当作业应用程序需要身份验证时,它会委托给主应用程序。假设身份验证签出,主应用程序会传回有关用户的信息。