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

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

作者: 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