想象一下这次攻击
参考这张图:流程:
问题
什么可以阻止攻击者拦截对授权服务器的第一次调用?这就是让授权码 + PKCE 比隐式流更安全的目的。
也许调用被拦截并不重要,因为代码挑战已被散列,因此攻击者没有第二次调用所需的代码验证器。但是如果代码挑战没有经过哈希处理怎么办?
oauth-2.0 openid-connect pkce
oauth-2.0 ×1
openid-connect ×1
pkce ×1