项目地址: https://github.com/liyaodev/wxlogin
这是一个基于Next.js开发的微信公众号登录验证系统,通过公众号菜单触发生成验证码,用户在网页端输入验证码完成登录认证。
功能特点
- 使用微信公众号作为身份验证渠道
- 通过菜单触发生成6位数验证码
- Redis存储验证码和用户信息
- JWT认证保持登录状态
- 响应式UI设计,支持移动端和桌面端
- 支持docker-compose编排,一行命令启动服务
工作原理
- 用户在网页端访问登录页面,页面显示引导用户关注公众号
- 用户关注公众号后,向公众号发送一条内容为【验证码】的消息
- 服务端接收到微信菜单点击事件,生成6位数验证码,并通过微信消息回复给用户
- 用户在网页端输入收到的验证码
- 系统验证码正确后,生成JWT令牌并将用户重定向到Dashboard页面
- demo试用地址: https://wx.hsjishu.com/