3

我想用 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 的新手,但我阅读了很多主题,但找不到答案。

4

0 回答 0