使用password模式的时候,没有生成对应的refresh_token信息

使用spring-cloud-starter-oauth2 authenticationServer的时候,密码模式,没有返回对应的refresh_token信息

image.png

解决问题思路

1、 检查clients配置中对应的授权类型(authorized_grant_types)是否有refresh_token这个配置
2、检查clients配置中对应的刷新Tokne(refresh_token_validity)是否配置刷新token的有效时间

这个是代码中的配置,

clients.inMemory().withClient("admin")   // clientID
                .secret("123456")  //secret 这里需要加密, 配置对应的passwordEncoder
                .authorizedGrantTypes("password,refresh_token,authorization_code") //这个就是授权类型
                .accessTokenValiditySeconds(7200)    //这个是token的有效时间
                .refreshTokenValiditySeconds(2952000)   //这个是refresh_token的有效时间
                .scopes("default")   //这个是访问权限的标识符
                .resourceIds("test");   //这个表示生成的token可以访问的资源

这个是在数据的配置


image.png

两种token的方式:
1 password


image.png

2 授权码模式

使用浏览器打开
http://localhost:8000/oauth/authorize?client_id=admin&redirect_uri=http://www.baidu.com&response_type=code&state=test

然后发送请求

image.png

代码路径:  
  digierp-cloud

你可能感兴趣的:(使用password模式的时候,没有生成对应的refresh_token信息)