我正在构建一个单页面应用程序和一个REST API来处理来自客户端和任何可能的第三方客户端的请求。
我的想法是创建三台服务器:
可能是第四个处理与Redis或其他任何事情的会议。
我希望SPA让用户注册和/或登录服务器C,给他一个访问令牌,让他直接与API(A)通话。
我的问题是处理这个问题的正确机制是什么?
我的问题有点乱,请随时向我询问更多细节。
答案 0 :(得分:0)
您基本上描述的是“票务”系统,只有您将票证称为“令牌”。多年来,这个问题已经用不同的标准化协议以不同的方式处理。麻省理工学院开发的一个非常流行的开放标准是Kerberos。
如果可能,我强烈建议使用现有协议和现有实施。试图“推出自己的”安全性是非常非常困难的,并且通常会导致易受攻击的应用程序。想想那些多年来困扰微软的瘟疫,与* nix系统相对安全的声誉相比: - )
我的第一种方法是采用Kerberos或其他类似的协议。如果你已经开始自己滚动,那么越简单就越好。我会选择你的第二个解决方案和废弃服务器C.当让不同的服务器执行身份验证时,有太多的错误空间。
我知道这不是你所希望的答案,但我希望它有所帮助。