微信小程序后台登录一直失败

  • Post author:
  • Post category:小程序



问题描述:

前端调用wx.login获取code后,将code传递给后台,后台进行登录操作,登录使用的是shiro框架。之前登录的时候一直都很有效,但是今天登录后,当前端再次调用其他接口时,一直报401未登录!


问题原因:

经过不断的打印日志及分析排查,终于发现了原因:微信不维持session会话!换句话说,微信每次请求服务器的session都是不同的!后来再次查看微信小程序文档时,看到一个词:自定义登录态,当时没怎么在意,现在想想,其含义是,小程序和开发者服务器之间的会话,需要自己去想办法维护,自己去定义一个session或json web token。


解决方案:

前端在第一步调用完wx.login得到code后,将code传递给后台,后台将此次连接的sessionId回传给前端,前端将这个sessionId保存在Cookie中(SESSION=a94e5071-f0f3-40ed-ba2c-4822c1ee4dbd),下次调用接口进行访问时,将这个Cookie带到请求中,这就保证了请求的sessionId一致了。


参考文章:

小程序登录:

https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html

微信小程序之保持登录状态即session不改变(Java):

https://www.cnblogs.com/gdutzyh/p/7251432.html

微信小程序中用户登录和登录态维护:

https://blog.csdn.net/qq_38125123/article/details/71196853



版权声明:本文为pansanday原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。