OAuth2 刷新令牌.如何在客户端存储它

OAuth2 Refresh Token. How to store it on client-side

本文关键字:客户端 存储 刷新 令牌 OAuth2      更新时间:2023-09-26

授权OAuth2服务器来获取访问+刷新令牌。据我了解,访问令牌可以存储在客户端,因为它的实时循环很短。但是刷新令牌可以存储在那里吗?根据我读过的信息,没有安全的方法可以做到这一点(这里)

因此,我必须实现单独的服务器端服务,只是为了存储刷新令牌

我说的对吗?存储刷新令牌是否只有一种可能的方法?

附言客户端:角度

是的,你是对的。如果无法使用授权服务器进行身份验证(即传递客户端 ID 和机密),则只会获得短期访问令牌。

由于 Angular 代码位于客户端上,因此它保存客户端机密是不安全的。因此,您无法将客户端密码传递给身份验证服务器,因此无法进行身份验证。

此外,您的服务器代码

不仅会存储令牌,还应该托管一个接受身份验证代码的端点,然后使用该代码(和客户端凭据)调用身份验证服务器以获取令牌和刷新令牌。

在成功用户登录和用户授予对应用的访问权限后,身份验证代码将通过 http 重定向从身份验证服务器调用提供给服务器终结点。