我遇到的是以下情况,可能对你有帮助。
wx.login调用后端接口进行JWT验证
图1
我是使用 firstOrCreate将openid,user_id,session_key存入数据库中
当小程序端点击授权时,将iv,data传给后端,后端进行解密,将小程序用户数据存入数据库
图2
这时$user中的session_key是数据库中的,在开发环境中小程序要测试接口,需要清除登录信息什么的,再次login会生成新的session_key,导致后端解密失败。
这种情况在生产环境也会有,比如用户换了手机或重新载入小程序等。
知道原因后,将图1的 firstOrCreate 改为 updateOrCreate 即可!
网友评论