在进行微信公众号业务开发的时候,微信公众号授权操作是非常重要的一环,因为基本上操作所有微信的接口,前提都是需要用户的openId,而要拿到这个openid,就必须通过用户授权。该篇文章每一步都有记录,力争理解的同时各位小伙伴也能够实现功能
同样,这里拿微信官方提供的测试公众号进行测试
1、登录微信测试号:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
注意:这里配置的两个域名必须是公网的域名,我这里用的是内网穿透技术,仿制了两个公网域名映射到我本地端口,有时间我会单独写一篇关于如何免费进行内网穿透的文章。
至此,配置完毕。
提前说明:其实这里有两种方式,但其实本质是一样的,因为目的都说获取code值,无非是前端做多一点或者后端做多一点,都差不多,因为我相信看这篇文章的可能后端多一点,所以我就写后端获取code的方式啦,但另外一种前端获取code的方式我也会顺带说的,大家觉得那种好就用那种~
1、引入依赖
2、添加配置
3、添加工具类
4、编写Controller
说明:其中用了JWT工具类,关于JWT其实也没啥说,简单来说就是将用户信息封装为一个字符串,称之为Token,并且由,公共部分、私有部分、签名部分组成,我们可以获取其中任何一部分,JWT最重要的作用就是对 token信息的防伪作用。
前端部分是已进入页面,自动发送请求给后端,然后由后端给微信服务器发送获取Code的请求,也就是用户授权。
方式二:这个code也可以由前端来进行发送获取code,然后前端将这个code直接发送给后端。
因为当时在创建菜单的时候已经设置好了对应的路径,不了解的朋友可以看:【微信开发第一章】SpringBoot实现微信公众号创建菜单,同步菜单功能
到这里,那么微信授权就完毕了
怎么样,是不是特别简单,简单来说流程就是:
- 用户进入页面,前端发送请求给后端,携带要跳转页面的参数
- 后端接受到请求后,给微信服务器发送用户授权的请求
- 用户同意授权后,微信服务器会自动回调,携带code和要跳转的页面给后端,后端凭借该用户的code就可以做很多事情了,比如:获取用户信息
【微信开发第一章】SpringBoot实现微信公众号创建菜单,同步菜单功能:https://blog.csdn.net/weixin_47316183/article/details/127821095?spm=1001.2014.3001.5502
【微信开发第二章】SpringBoot实现微信公众号普通消息和模板消息回复:https://blog.csdn.net/weixin_47316183/article/details/127821653?spm=1001.2014.3001.5502
【微信开发第三章】SpringBoot实现微信授权登录
https://blog.csdn.net/weixin_47316183/article/details/127833802?spm=1001.2014.3001.5502
【微信开发第四章】SpringBoot实现微信H5支付
https://blog.csdn.net/weixin_47316183/article/details/127949620?spm=1001.2014.3001.5502