我正在计划一款多人网络回合制游戏。入口点将是一个普通的 rails 应用程序,但后端将用 erlang 编写。我可能会使用 socket.io 进行通信。
问题是,我应该如何处理 rails 和 erlang 之间的会话共享?我可以想到几个选项,如果你愿意,你可以提供更多:D
- 将 rails session cookie httpOnly 的值设置为 false,并在 erlang 端对其进行反序列化。我已经在 erlang 中使用自定义 websocket 服务器尝试过这个。它可以工作,但是安全性稍差一些,而且我与 ruby 1.8 相关联,因为我还没有找到一个库来从 erlang 中解组 ruby 1.9 的东西。除此之外,erlang 中的 socket.io 还没有提供获取请求标头的方法。
- 基于令牌的方法。理想情况下,客户端会发送一些令牌,并且 erlang 应该能够证明用户是应该的用户。我不确定这应该怎么做。
- HTTP API。rails 应用程序可以提供一些 API,erlang 服务器可以使用这些 API 来检查用户凭据。
请告诉我您遇到类似问题的经历以及您是如何处理这些问题的。提前致谢!