【发布时间】:2020-12-16 16:34:35
【问题描述】:
我想知道在 OpenID Connect Auth Code Flow 中,是否仍然需要验证 access_token 和 id_token是通过我的网络服务器而不是浏览器获取的(即使用反向通道而不是前端通道)?
“身份验证代码流”是指浏览器仅从授权服务器接收“授权代码”(即没有 access_token,没有 id_token)并将身份验证代码发送到我的 Web 服务器的流程。因此,我的 Web 服务器可以直接与授权服务器对话,提供身份验证代码,并将其交换为 access_token 和 id_token。看起来我可以简单地解码 access_token 和 id_token 以获得我想要的信息(主要是用户 ID 等)
我对需要验证 access_token 的理解是,因为 access_token 没有加密,并且如果通过不安全的通道传输,我的网络服务器有可能获得伪造的令牌.验证token基本上就是验证token没有被修改过。
但是如果 access_token 没有在任何不安全的通道上传输怎么办?在auth代码流中,web server直接从auth server获取access_token,这个token永远不会发送给浏览器。我还需要验证令牌吗?如果我在此类流程中跳过验证,会有哪些潜在风险?
【问题讨论】:
标签: oauth-2.0 single-sign-on openid-connect websecurity