# 一位老朋友说需要微信登录授权的后台,我便在空闲的时间集成了spring security 和 微信 sdk 登录, 开箱即用。
* 可以拓展为多公众登录。
* 可以拓展手机号登录
* 模仿微信的登录拦截,可以实现更多的第三方登录,如抖音,微博,github 等。
* 将近 2 个小时的劳动成果,且行且珍惜!
* 技术栈:
spring security ,jpa, weixin-java-mp(微信授权sdk 网上有,亦或仓库也可以找到其他同类产品,如小程序登录,微信支付等),
jwt, spring session(会问:有jwt还需要session? 这里是问了解决 jwt主动失效问题,有jwt 拿用户信息比较简单。
当然你可以用redis 存储jwt 的key, 或者直接使用一个 session 或者jwt 本项目已做好了兼容)
话不多说:干货走起!
一 。创建类:WebSecurityConfig 继承 WebSecurityConfigurerAdapter
二。实现UserDetailServce 接口
三。仿照 UsernamePasswordAuthenticationFilter 继承 AbstractAuthenticationProcessingFilter 并且定义 路径: /wx/login,支持get ,post登录
测试: 微信开发者工具输入:localhost:8080/wx/login
返回授权界面:
后台打印:
点击确认登录,成功后返回:
返回的json 你可以自定义:
实现接口即可,例如:
然后注入:
好了,不管看没看懂,都点个赞吧!如需帮助,下面留言!
源码开源:https://gitee.com/dengshidang/spring-security-weixin.git