【发布时间】:2018-07-19 07:28:30
【问题描述】:
where to store - access token and refresh token in OAuth 2.0 是我一直在寻找的答案,但我有一些不清楚的地方,或者我只是想多了。
假设我有一个网站 X,它调用 REST api 并将刷新令牌作为 HttpOnly cookie 存储在浏览器中。如果一个恶意的人 M 进入已经以 U 身份登录 X 的其他人的计算机,M 可以去寻找 cookie 并窃取该刷新令牌。然后 M 将能够为 U 检索他想要的所有令牌,他只需要该应用程序的客户端 ID 和客户端密码,他可以从该应用程序的任何其他用户那里获得,例如他自己 M 只需查看进行 GET 新访问令牌调用时标头的值。对吗?
【问题讨论】:
-
“网站 X”是什么意思? HTML+JavaScript 应用程序?您将刷新令牌存储为 cookie 的原因是什么?谁是访问/ID 令牌的消费者?
-
是的,网站 X 将是一个 HTML+Javascript 应用程序。文档总是说刷新令牌应该存储在安全的地方,在这种情况下 cookie 将是最安全的可用位置,不易受到 XSS 或 CSRF 攻击。代币的消费者?网站应使用令牌向其余 api 请求某些内容