【问题标题】:Get Access to Blizzard Dev Api with Spring oauth2 Authentication使用 Spring oauth2 身份验证访问 Blizzard Dev Api
【发布时间】:2019-12-23 22:25:40
【问题描述】:

我想访问 Blizzard Dev Api。不幸的是,我无法进行 oauth2 身份验证。

我想我已经尝试了所有可能的配置组合,但没有成功。我正在尝试实现此处描述的客户端凭据流程:https://develop.battle.net/documentation/guides/using-oauth/client-credentials-flow

我当前的配置代码

@Configuration
@EnableOAuth2Client
public class OAuth2Configuration {



    @Bean
    public OAuth2ProtectedResourceDetails oauth2ProtectedResourceDetails(){

        AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails();
        details.setClientId("clientid");
        details.setAccessTokenUri("https://us.battle.net/oauth/token");
        details.setClientSecret("clientsecret");
        details.setGrantType("client_credentials");
        return details;
    }



    @Bean
    public OAuth2RestTemplate oauth2RestTemplate(OAuth2ClientContext oauth2ClientContext,
                                                 OAuth2ProtectedResourceDetails details) {

        return new OAuth2RestTemplate(details, oauth2ClientContext);
    }
}

测试客户:

@Service
public class WoWItemClient {


    @Autowired
    private RestTemplate restTemplate;

    public Item getItems(){
        String uri = "https://eu.api.blizzard.com/data/wow/item/19019";


        String result = restTemplate.getForObject(uri, String.class);
        System.out.println(result);
        return null;
    }


}

使用这些设置我得到以下错误:

Unable to obtain a new access token for resource 'null'. The provider manager is not configured to support it.

谁能给我看一个可行的例子?

【问题讨论】:

  • 你得到了什么错误?

标签: java spring rest spring-boot oauth-2.0


【解决方案1】:

我自己想出了答案。感谢所有不厌其烦的人。

总之有两个问题:

  1. 使用uris,而不是https://eu.api.blizzard.com/data/wow/item/19019,它应该是https://us.api.blizzard.com/data/wow/item/19019?namespace=static-us&locale=de_DE 令牌请求 uri 也应该以我们开头:https://us.battle.net/oauth/token

  2. 我没有使用 AuthorizationCodeResourceDetails 类,而是使用了 ClientCredentialsResourceDetails。这个错误显然是:D

【讨论】:

    猜你喜欢
    • 2019-10-25
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 2018-09-11
    • 2020-11-21
    • 2013-07-20
    • 1970-01-01
    相关资源
    最近更新 更多