我有Rails app 1 ,我希望 rails app 2 通过 Rails app 1 进行身份验证,我想知道这是否可能?< / p>
我在两个方面都使用了设计:
背后的原因是我有主网络应用程序,即应用程序1,然后是网络的节点,这是其他应用程序,我希望所有节点都能够通过主应用程序进行身份验证。< / p>
我已经使用主应用中的1个主用户表在每个应用上建立身份验证,但现在我只需要弄清楚如何分享会话。
我查看过以下问题,但他们是在同一个数据库中进行的,而不是跨应用程序:
Rails sessions current practices
Sharing session across rails apps on different subdomains
我想完全按照这个家伙的意思去做:
Rails authentication strategy for noob
Navigate to rails app -->
redirect unauthenticated users to SSO server -->
login and authenticate via remote SSO server -->
callback/redirect to rails app -->
capture user info passed back from SSO server and load protected resources in rails app
更新 我想我可以使用这个Rest-Client通过rails app 2上的rails app 1进行身份验证。不是吗?是吗?
答案 0 :(得分:1)
也许其中一篇文章会对您有所帮助:
http://stderr.timfischbach.de/2013/09/14/rails-4-and-sinatra-session-sharing.html
http://robots.thoughtbot.com/how-to-share-a-session-between-sinatra-and-rails
他们描述了基于机架的应用程序(sinatra和rails)之间的会话共享,但它也适用于两个rails应用程序。
基本的身份验证中间件是Warden :: Manager,你应该只为这两个应用程序配备一个config.ru。
其他提示: 也许你可以使用一些其他会话商店而不是数据库,比如memcached,redis,couchbase或任何东西。