gpt4 book ai didi

google-analytics - 使用 OpenId Connect 隐式流时如何保护客户端中的 token

转载 作者:行者123 更新时间:2023-12-02 20:57:37 24 4
gpt4 key购买 nike

使用 OpenID Connect 隐式流,授权服务器在身份验证成功后重定向回客户端。 location header 将包含 token 作为 url 片段 (#id_token=xyz)。

这可以防止 token 通过引用者或类似内容从用户代理泄漏到包含的资源。

但是,如果重定向目标页面中包含 javascript 文件等第 3 方资源,这些脚本将通过文档位置访问 token 。

在包含第三方资源时,保护客户端 token 的最佳实践是什么?例如。您通常会实现一个“受限”重定向目标,在再次重定向之前将 url 片段交换为 cookie?

更新

说得更清楚一点:根据 @janhalasa 的回答,攻击场景不包含不受信任的 JavaScript。攻击线更倾向于无意中泄露 token ,例如将文档 uri 传输到外部服务器的库(谷歌分析?)。通过将哈希片段移至 session 存储,它不会被意外泄漏。

最佳答案

如果您不信任正在使用的外部库,最好停止使用它们。无论您在何处使用 JavaScript 代码隐藏 ID token (cookie、sessionStorage、localStorage),库都能够找到它,因为您的代码和库代码都在同一运行时环境中运行。

我认为常见的做法是将 token 保留在 sessionStorage 中,并且仅将其附加到需要它的请求。 sessionStorage 的优点是能够承受重新加载/重定向,并且只能通过应用程序的文档访问。

关于google-analytics - 使用 OpenId Connect 隐式流时如何保护客户端中的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com