美文网首页
快速实现微信公众号认证授权开发

快速实现微信公众号认证授权开发

作者: s_j_x | 来源:发表于2018-08-16 17:38 被阅读0次

最近做微信公众号和小程序相关的开发。大家都知道微信开发调试起来比较麻烦,因此推荐给大家一个内网穿透的工具NATTAPP。附上官网一分钟快速上手地址:https://natapp.cn/article/natapp_newbie.。在这个平台上设置好一个域名。通过此域名可以映射到本地。 

微信开发之前首先要有一个经过备案的域名 比如 http://sjx.s2.natapp.cc

授权步走如下 

buzou

放到项目resource/static 目录下

在浏览器上访问 http://sjx.s2.natapp.cc/MP_verify_CchqzOKsBbk7hOMf.txt 会得到一串数字

返回公众号设置会看到网页授权域名上已经有值了。此时域名已经备案成功。

认证授权开发

demo 使用的是别人封装好的微信工具类可以实现快速开发

github地址: https://github.com/Wechat-Group/weixin-java-tools

新建url 配置类

yml 配置

编写授权接口

@GetMapping("/authorize")

public Stringauthorize(@RequestParam("returnUrl") String returnUrl) {

String url =urlConfig.getWechatMpAuthorize() +"/sell/wechat/userInfo";  //用户授权之后回调地址

//方法执行完会重定向

    String redirectUrl =wxMpService.oauth2buildAuthorizationUrl(url, WxConsts.OAUTH2_SCOPE_USER_INFO,

            URLEncoder.encode(returnUrl));

    return "redirect:" + redirectUrl;

}

授权成功之后回调地址接口

/**

* 当用户授权过之后会回调这个方法,这个方法可以获取用户的openid

**/

@GetMapping("/userInfo")

public StringuserInfo(@RequestParam("code") String code, @RequestParam("state") String returnUrl)throws Exception {

WxMpOAuth2AccessToken wxMpOAuth2AccessToken =new WxMpOAuth2AccessToken();

    try {

wxMpOAuth2AccessToken =wxMpService.oauth2getAccessToken(code);

    }catch (WxErrorException e) {

e.printStackTrace();

        log.error("微信网页授权{}", e.getMessage());

        throw new SellException(ResultEnum.WECHAT_MP_ERROR);

    }

WxMpUser wxMpUser =wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null);

    wxMpUser.getNickname();

    String openId = wxMpOAuth2AccessToken.getOpenId();

    return "redirect;" + returnUrl +"?openid=" + openId;

}

已上两个接口便完成了授权认证获取用户信息

测试

打开微信公众平台

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

加粗斜体的是需要替换的。

个人测试地址

https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=微信上备注的域名/sell/wechat/authorize?returnUrl=https://www.baidu.com&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

将这些地址发送到微信上的微信传输助手

在手机上点击地址就会回调预先设置好的授权地址

授权完成之后就会回调这个设置好的获取用户信息的接口

微信昵称和openId也已经获取到了

相关文章

网友评论

      本文标题:快速实现微信公众号认证授权开发

      本文链接:https://www.haomeiwen.com/subject/aznnbftx.html