Oauth刷新令牌授予类型

时间:2020-05-22 03:47:39

标签: spring-boot spring-security oauth oauth-2.0 spring-security-oauth2

我正在学习Oauth授予类型。我观察到刷新令牌仅适用于 授权代码和资源所有者密码凭证授予。 我的问题是为什么它仅适用于授权代码和资源所有者密码凭据授予,而不适用于隐式和客户端凭据授予?

2 个答案:

答案 0 :(得分:1)

Refresh tokens仅应发布给在使用时可以进行身份​​验证的客户端。

授权代码授予旨在由confidential clients(可以保密的客户端)使用。刷新令牌的使用应使用客户端凭据进行验证。

资源所有者密码凭据流发出刷新令牌,因此客户端不必保留用户的用户名和密码。它可以使用刷新令牌来获取新的访问令牌。

隐式授予旨在供公共客户(不能保守秘密)使用。由于它们无法保密,因此这些客户端无法将客户端凭据与刷新授权一起使用。

最后,客户端凭据流不需要刷新令牌,因为它可以仅使用客户端凭据在旧的令牌过期时获取新的访问令牌。

答案 1 :(得分:0)

如果您使用的是v5,则可以使用https://docs.spring.io/spring/docs/5.0.0.M5_to_5.0.0.RC1/Spring%20Framework%205.0.0.RC1/org/springframework/web/cors/CorsConfiguration.html

CorsConfiguration#applyPermitDefaultValues

或者您可以使用

@RestController
@CrossOrigin(origins = "*", methods= {RequestMethod.GET,RequestMethod.POST})
public class HelloRESTController {