Ruby on rails 在同一域上的节点应用程序和rails应用程序之间共享身份验证数据的最佳方法

Ruby on rails 在同一域上的节点应用程序和rails应用程序之间共享身份验证数据的最佳方法,ruby-on-rails,node.js,heroku,devise,express,Ruby On Rails,Node.js,Heroku,Devise,Express,我想将我相当大的应用程序中的一些部分解耦,并将它们委托给外部节点应用程序,主要用于上传,但身份验证仍然是一个问题 在我使用Desive的Rails端,客户端和表单将指向节点应用程序所在的这个新子域 节点应用程序使用express,我可以通过mysql模块连接到共享数据库 其想法是将heroku用于主应用程序,并将上载委托给运行在EC2实例上的节点应用程序。为了访问应用程序,我希望传递身份验证信息,因为API客户端和web表单都将使用该端点 Deviate支持通过URL传递身份验证令牌,但我想知道

我想将我相当大的应用程序中的一些部分解耦,并将它们委托给外部节点应用程序,主要用于上传,但身份验证仍然是一个问题

在我使用Desive的Rails端,客户端和表单将指向节点应用程序所在的这个新子域

节点应用程序使用express,我可以通过mysql模块连接到共享数据库

其想法是将heroku用于主应用程序,并将上载委托给运行在EC2实例上的节点应用程序。为了访问应用程序,我希望传递身份验证信息,因为API客户端和web表单都将使用该端点


Deviate支持通过URL传递身份验证令牌,但我想知道您的解决方案是什么。

如果您的子域仅相隔1点,如www.myapp.example和uploads.myapp.example,您可以在DB中共享会话cookie和会话信息。我只需要编写节点应用程序,以验证每个请求上的会话cookie,就像Desive和you's那样。上载子域用户是面向用户的,例如,它是向浏览器呈现HTML还是必须显示登录表单?如果是这样,那么DB中的共享会话表可能不是最好的主意,但是如果node.js只是用于上传,并且在会话无效时可以重定向到www.myapp.example,那么一切都应该很好。只需确保将cookie的域字段设置为.myapp.example