授权OAuth2服务器以获取访问权限+刷新令牌。 据我所知,访问令牌可以存储在客户端上,因为它有短暂的实时圈子。但刷新令牌可以存储在那里吗?根据我读过的信息,没有安全的方法(here)
所以,我必须实现单独的服务器端服务,只需存储刷新令牌。
我是对的吗?它只是存储刷新令牌的一种可能方式吗?
P.S。客户端:angularJS
答案 0 :(得分:1)
是的,你是对的。如果您无法通过授权服务器进行身份验证(即传递客户端ID和密钥),那么您将只获得一个短期访问令牌。
由于Angular代码在客户端上,因此保密客户端是不安全的。因此,您无法将客户端密钥传递给Auth服务器,因此无法进行身份验证。
此外,您的服务器代码不仅会存储令牌,还应该托管一个接受授权代码的端点,然后使用该代码(以及您的客户端凭据)调用Auth服务器以获取令牌和刷新令牌。
在成功登录用户并允许用户授予对您应用的访问权限后,auth代码将通过来自auth服务器的呼叫通过http重定向提供给您的服务器端点。