一、认证模块
本项目有四端:用户端(小程序)、服务端(app)、机构端(PC)、运营管理端(PC)
1、小程序认证
需要通过与微信api交互得到用户的openid,认证通过后则将openid录入到数据库,表明认证通过。
所以小程序的登陆认证涉及到三方:前端小程序、后端微服务程序、微信服务器。
登录流程:
1、前端调用wx.login()获取登陆凭证code
2、前端请求后端wx.request()发送code进行认证
3、后端请求微信服务器获取openid、发送appid+appsecret+code。微信返回openid
4、后端生成认证成功凭证返回给前端
5、前端存储用户认证成功凭证
关于appid和密钥都存放在nacos配置中心。
2、短信认证
模拟发送短信、可以通过浏览器控制台拦截请求发出的验证码来模拟。
需要将生成的验证码存入到Redis中用于后续的认证,验证流程如下:
在当前手机号没有在数据库中注册过时,需要对于该手机号进行自动注册。最后通过创建一个token并返回给前端。