我一直在阅读不同的OAuth流程,并且对授权代码流程感到困惑。据说授权代码流更安全,因为即使授权代码在转移时被劫持,对黑客也没用,因为黑客需要客户端ID和客户端秘密来获取访问令牌 - 但是如果客户端在收到授权码后请求访问令牌,黑客攻击传输并获取访问令牌? 我不知道,但看起来授权代码只是增加了额外的安全层,但实际上并没有完全保护访问令牌。 我对吗?请纠正我。
答案 0 :(得分:0)
授权代码流的典型用例是令牌请求(即交换访问令牌的授权代码的请求)是通过受TLS保护的反向通道完成的,这意味着攻击者无法访问它 - 除非他& #39;能够破解SSL,在这种情况下存在更大的问题。
但是对于前端通道用例,即浏览器内的Javascript应用程序或单页应用程序,你是对的:黑客几乎可以像重定向那样轻松拦截令牌请求。这就是为什么该用例不能使用机密客户端,因为这个秘密太容易暴露。
答案 1 :(得分:0)
当您有一个前端客户端,该客户端也可以访问可以安全地与auth服务器通信的后端时,授权代码流才有意义。
流程如下:
身份验证服务器通信的后端是黑客无法(轻松地)拦截的东西。