我计划构建一个由两个服务器组成的web服务--一个API后端(RESTful &无状态)和一个web服务器前端。后端将使用Go构建,web服务器将使用PHP或Java构建。
基本上,我希望多个用户通过使用他们的facebook或google凭证登录他们的浏览器,我知道我必须使用OAuth。
然而,我对如何设计身份验证深感困惑。我是否可以简单地在key服务器上实现OAuth,然后使用API密钥/机密来使用我的API验证webserver,并通过它们之间的加密连接进行通信。这是安全的,工作正常还是应该以其他方式实现身份验证?
我做了一个简单的拨号,显示了我的想法,如何可以做到这一点。

我真的希望你们能为我指明正确的方向。
发布于 2015-07-20 14:06:48
有两种常见的方法来解决这个问题:
可信子系统模型与委托模型
可信子系统
使用可信子系统模型,为前端的每个用户维护单独的密钥和秘密可能是不切实际的,受信任子系统模型基本上表明,具有api权限的系统(web服务器)负责或受信任来验证/授权用户访问该api,并被授予这样做的权限。
您所做的是为web服务器提供一个帐户,并允许web服务器授权访问api。
委托模型
如果您控制了api的身份验证方式,您可以使用与前端相同的方法,并重用最终用户安全主体来对后端api进行身份验证。
https://stackoverflow.com/questions/31518501
复制相似问题