Rails 两个应用使用一个授权系统

Rails use one auth system for two apps

我创建了一个使用 devise 进行身份验证的应用程序。如果我想在不同的服务器上创建一个完全独立的应用程序 运行,有没有办法让它使用与第一个应用程序相同的身份验证系统?

本质上:

System1     System2
-------     -------
DB1         DB2
App1        App2
 |-model1    |-another model
 |-model2    |-yet another model
 |-devise <- (Use this auth system)

这样,注册一个应用程序的用户就可以访问我开发的所有应用程序。

这在 RAILS 中可行吗?

看看OAuth。有了 OAuth,您的第一个应用程序(带有 Devise 的应用程序)将充当提供者。其他应用程序(客户端)将能够连接到提供者、登录和授权,并最终交还给客户端应用程序。您可以拥有任意数量的客户,用户只需在提供商上拥有一个帐户。

Doorkeeper (provider; see the sample app that uses devise - doorkeeper-provider-app) and OAuth2(客户端)开始。