真-小白详解-Springboot微信网页授权!!!

个人也是一个小白,记录自己开发微信网页授权的过程,其中有什么不足,欢迎各位指点!!!

开发前提:
(1)Springboot的开发环境
(2)导入github的微信SDK

<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>weixin-java-mp</artifactId>
  <version>4.0.0</version>
</dependency>

注意使用的是4.0.0版本的

下面是SDK的GitHub作者链接:
github -> 微信授权SDK

(3)开发是需要注意的电视:
多看文档多看文档!!!
多看文档多看文档!!!
多看文档多看文档!!!

(4)网页授权的作用:
获取用户基本信息,进而实现业务逻辑。

一. 配置好相关配置:

0.开启你的AppSecret

在这里插入图片描述
1.配置服务器信息
在这里插入图片描述
AppID 是公众号唯一开发识别码,配合开发者密码可调用公众号的接口能力,大多数微信接口都需要附带该参数。

AppSecret 是校验公众号开发者身份的密码,具有极高的安全性。切记勿把密码直接交给第三方开发者或直接存储在代码中。如需第三方代开发公众号,请使用授权方式接入。其中获取accessToken就需要同时传入AppID和AppSecret获取。

URL 是开发者用来接收微信消息和事件的接口URL,也就是我们服务后端的入口地址,需要注意的是该地址必须以域名形式填写,且必须以http 或 https 开头,分别支持80端口和443端口。如:http://yuanj.natapp1.cc/wechat。

Token 可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性),也就是我们项目和微信服务端进行通信时,必须保证公众平台配置的Token和我们后台代码配置的Token保持一致,这样微信就能验证我们身份。

注:EncodingAESKey 参数由开发者手动填写或随机生成,将用作消息体加解密密钥,我们前期可以采用明文模式进行开发测试,暂时先不用关注。

2.在 开发------基本配置 中,配置好相关的 服务器信息。
如果没有的url地址的:
(1)可以去natapp买一个,再买一个域名 ,一共大概15块钱左右一个月,稳定。
(2)也可以去ngrok免费申请一个url,但是不稳定,看个人需要。

3.填写完后先不要按提交按钮:
因为按了提交按钮微信服务器会向你填写的url地址进行请求验证,等会下面会代码实现验证过程。

代码实现微信服务器验证:

// 这里注意,要在你的url地址行加入   /wechat
@RequestMapping(value = "wechat", method = RequestMethod.GET)
    public void validate(HttpServletRequest req, HttpServletResponse resp) {
   
        System.out.println("-----开始校验签名-----");

        // 接收微信服务器发送请求时传递过来的参数

        //签证
        String signature = req.getParameter("signature");
        //时间戳
        String timestamp = req.getParameter("timestamp");
        //随机数
        String nonce = req.getParameter("nonce");
        //随机字符串
        String echostr = req.getParameter("echostr");

        // 将token、timestamp、nonce三个参数进行字典序排序并拼接为一个字符串
        String TOKEN = "你在微信上写的  token";
        String sortStr = sort(TOKEN, timestamp, nonce);

        // 字符串进行shal加密
        String mySignature = WxMpCheckController.sha1(sortStr);

        // 校验微信服务器传递过来的签名 和  加密后的字符串是否一致, 若一致则签名通过
        if</
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值