【发布时间】:2018-08-23 18:06:25
【问题描述】:
我正在阅读 Auth0 网站上有关 Refresh Tokens and SPA 的文档,他们声明 SPA's should not use Refresh Tokens 因为它们无法安全地存储在浏览器中,而是使用静默身份验证来检索新的访问令牌。
单页应用程序(通常实现隐式授权)在任何情况下都不应获得刷新令牌。原因是这条信息的敏感性。您可以将其视为用户凭据,因为刷新令牌允许用户基本上永远保持身份验证。因此,您不能在浏览器中拥有这些信息,它必须安全地存储。
我很困惑。据我了解,检索新访问令牌的唯一方法是向 Auth 服务器提交一个新请求,以及某种形式的 Auth0 会话 cookie 来验证登录用户的身份。收到会话 cookie 后,Auth0然后服务器将能够发出新的访问令牌。
但这与在浏览器或本地存储中使用刷新令牌有何不同?是什么让会话 Cookie 比刷新令牌更安全?为什么在 SPA 中使用刷新令牌是一件坏事?
【问题讨论】:
-
它说客户端不应该接收刷新令牌,而不是不应该使用它们。它们只是不应该存储在客户端。
-
至于为什么它是一件坏事......它就在那里说......“刷新令牌允许用户基本上永远保持身份验证。”这就是潜在的不利因素。
标签: oauth-2.0 access-token refresh-token