我想用 oauth2 配置 spring boot 以在流Refresh token grant中工作。我所需要的只是发送请求,授权类型设置为“refresh_token”,并带有字段刷新令牌,我想在其中放置我的令牌。作为回应,我收到了访问令牌。
对于流资源所有者凭据授予,我有这样的配置:
@EnableOAuth2Client
@Configuration
public class AuthConfig {
@Value("${conf.client-id}")
private String clientId;
@Value("${conf.client-secret}")
private String clientSecret;
@Value("${conf.access-token-uri}")
private String tokenUrl;
@Value("${conf.grant-type}")
private String grantType;
@Value("${conf.refresh-token}")
private String refreshToken;
@Value("${conf.username}")
private String username;
@Value("${conf.password}")
private String password;
@Bean
public OAuth2ProtectedResourceDetails resourceDetails() {
ResourceOwnerPasswordResourceDetails resource = new ResourceOwnerPasswordResourceDetails();
resource.setAccessTokenUri(tokenUrl);
resource.setClientId(clientId);
resource.setClientSecret(clientSecret);
resource.setGrantType(grantType);
resource.setPassword(password);
resource.setUsername(username);
return resource;
}
@Autowired
private OAuth2ClientContext oauth2Context;
@Bean
public OAuth2RestTemplate oauth2RestTemplate(
OAuth2ClientContext oauth2Context, OAuth2ProtectedResourceDetails details
)
{
return new OAuth2RestTemplate(details, oauth2Context);
}
}
是否可以使用刷新令牌构建 OAuth2ProtectedResourceDetails 而无需用户名和密码?
我是 SpringBoot 的新手,但我阅读了很多主题,但找不到答案。