zoukankan      html  css  js  c++  java
  • Spring-Security-OAuth2调用微信API

    class WeixinClientCredentialsAccessTokenProvider extends ClientCredentialsAccessTokenProvider {

    public WeixinClientCredentialsAccessTokenProvider() {

    List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();

    converters.add(new MappingJackson2HttpMessageConverter());

    this.setMessageConverters(converters);

    this.setTokenRequestEnhancer(new RequestEnhancer() {

    @Override

    public void enhance(AccessTokenRequest request, OAuth2ProtectedResourceDetails resource,

     

    MultiValueMap<String, String> form, HttpHeaders headers) {

    form.set("appid", resource.getClientId());

    form.set("secret", resource.getClientSecret());

    form.set("grant_type", "client_credential");

    }

    });

    }

     

    }

    OAuth2ClientContext context = new DefaultOAuth2ClientContext();

    ClientCredentialsResourceDetails resource = new ClientCredentialsResourceDetails();

    resource.setClientId("xxxxxxxxx");

    resource.setClientSecret("xxxxxxxxxxxxxxx");

    resource.setAccessTokenUri("https://api.weixin.qq.com/cgi-bin/token");

    resource.setAuthenticationScheme(AuthenticationScheme.form);

    OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(resource, context);

    restTemplate.setAccessTokenProvider(new WeixinClientCredentialsAccessTokenProvider());

    restTemplate.setRetryBadAccessTokens(true);

    ResponseEntity<Object> response = restTemplate.getForEntity("https://api.weixin.qq.com/cgi-bin/user/get", Object.class);

    if (response.getStatusCode() == HttpStatus.OK) {

    System.out.println(response.getBody());

    }

  • 相关阅读:
    [转]史上最最佳软件开发实践指导
    附微信表情代码关键字
    TFS2010配置篇 — 万事具备只欠外网访问
    ASP.NET在IE10中Form表单身份验证失效问题解决方法
    TFS2010 更改已经登录的用户
    TFS命令tf:undo 强制签入别人签出的文件
    ASP.NET Core部署后报错: Could not load file or assembly 'System.Private.ServiceModel, Version=4.1.2.4, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
    SQL 增删改查语句
    存储过程拼接sql
    sql 求时间差
  • 原文地址:https://www.cnblogs.com/kingsy/p/6375880.html
Copyright © 2011-2022 走看看