我希望逐步将遗留API应用程序移植到Phoenix.理想情况下,我会将应用程序的子域划分为单独的Phoenix应用程序,并将它们托管在不同的服务器节点上.
我希望使用Phoenix频道来促进应用与应用之间的沟通.如何将一个Phoenix应用程序连接到另一个渠道和主题?例如,我想设置一个带有WebSockets的'jobs.foo.com'子域,如:
socket "/ws", Jobs do
channel "jobs:work_orders", WorkOrdersChannel
end
Run Code Online (Sandbox Code Playgroud)
从另一个凤凰应用程序(例如:报告)我想发布/转到该职位频道主题.是否可以Phoenix.Endpoint
在Reports中创建Jobs lib,并Jobs.Endpoint
在config.exs中配置该url?我可以使用类似于Phoenix.PubSub.subscribe/4
名为pubsub端点的东西吗?
我不确定我的想法是否合理.如果有更明智的方法,我愿意接受建议.
- 编辑 -
只是为了澄清我想要完成的事情......我想让一个Phoenix应用程序通过WebSocket客户端连接到另一个.这将允许我拥有具有不同域逻辑的应用程序,通过频道和共同感兴趣的主题进行通信.
我使用以下示例将Devise和OmniAuth与我的Mongoid ORM设置集成在一起:
https://github.com/plataformatec/devise/wiki/Example-Applications
我的客户端代码主要是JavaScript(ExtJS),并依赖于JSON进行所有通信.我没有使用Rails模板.我希望构建一个多提供商身份验证模型,主要使用用户/通行证,Facebook和Twitter.我很难将完整的用户身份验证流程与我的应用程序堆栈放在一起.
我正在寻找一个使用JSON响应标准身份验证操作而不是重定向的示例,并提供与使用Mongoid的OmniAuth的集成.除了上面的例子,我还经历过Ryan Bates在Devise和OmniAuth上的Railscasts.到目前为止,我所做的每个例子都是ActiveRecord,或者是Rails模板.任何指针都表示赞赏!