实现用户访问多个 Play 实例

Implementing user access to multiple Play instances

我的应用程序具有以下特征:

这些是我的想法:我可以实现一个 Node.js 应用服务器,它将登录重定向到将验证用户密码的每个 Play 应用服务器。我是不是太离谱了?

这是您可以做到的一种方法:

  1. 用户将他们的登录信息输入到 Node.js 服务器上的表单中。
  2. Node.js 服务器收到 POST 请求并向相应的播放服务器发出 HTTP(S) 请求。
  3. Play 服务器收到请求,并通过一个操作验证登录信息,向 Node.js 服务器返回一个令牌。
  4. Node.js 服务器通过重定向到正确的 Play 服务器响应原始 POST,包括重定向中的令牌 URL。
  5. Play 服务器收到请求,验证令牌并让用户登录。

免责声明:

这里有很多安全问题 - Node.js-Play 服务器通信和传递令牌需要安全进行。思考:随机数、加密、挑战等。我不是专家,所以我没有就如何保护每个阶段提出具体建议,但我知道我上面给出的设计肯定需要更多工作才能使其适当安全.您需要阅读有关如何执行此操作的信息,或者查看现有的单点登录体系结构、oauth 等,或者询问一些与安全相关的特定问题。

此外,使用 md5s 作为密码也不是好的做法。使用带有盐的更强的哈希算法。请参阅 http://john.cuppi.net/migrate-from-md5-to-bcrypt-password-hashes/ 了解如何在不中断的情况下进行迁移。