小程序
小游戏
企业微信
微信支付
扫描小程序码分享
有这么个业务场景,入口判断是否有session(user_id),如果有则走正常流程,如果没有,redirect 微信地址,微信带上用户信息跳转我们的地址,获取完成,存session 现在发现入口获取session的时候的sessionid和,redirect回来之后的的sessionid不一致,导致每次都去拉授权。。这是啥原因
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
遇到了同样的问题,后来解决了。希望能帮助到大家。
先说明下业务场景:我们是通过开放平台的接口实现网页扫码授权登录,除了谷歌浏览器,其他浏览器都正常,经过调试发现,验证state时出错了,因为state字符串里包含了sessionid,调试时发现初始的sessionid和扫码回调跳转回来的不一致,由此导致session不一样,从而获取不到扫码之前存在session中的内容,扫码登录不成功。
解决方法如下:
这里的值应该设置为false,
按照官方文档的解释,可以找到问题所在
网页上的授权二维码是是封装在一个iframe中的,谷歌浏览器认为它是独立的访问,由此导致了为它重新生成了一个sessionid,而此处的sessionid不是top window网页的,所以导致获取不到原网页的值。
后话:花了一上午把整个扫码登录流程调试了一遍,没有发现问题,后来查看官方的文档才找到答案。希望帮到需要的人。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
入口sessionid:0c2j9cuu4supq1b67m9ndbk0h7|time:2019-09-25 16:45:00
跳转微信url:http://hd-admin.9jiudian.com/xxl/index/Wxinfo/oauthCallback?channel_id=73&source=4|time:2019-09-25 16:45:00
微信回跳地址sessionid:3uf4q29cpm6ugnjlb1b09u1md0|time:2019-09-25 16:45:00
微信回跳地址接收参数{"channel_id":"73","source":"4","code":"061mZfX50gBQIC1zjcU50aszX50mZfXE","state":"62430dc0207b3a59e6d30b84fc03af6d"}|time:2019-09-25 16:45:00
发一下参数和日志信息。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
遇到了同样的问题,后来解决了。希望能帮助到大家。
先说明下业务场景:我们是通过开放平台的接口实现网页扫码授权登录,除了谷歌浏览器,其他浏览器都正常,经过调试发现,验证state时出错了,因为state字符串里包含了sessionid,调试时发现初始的sessionid和扫码回调跳转回来的不一致,由此导致session不一样,从而获取不到扫码之前存在session中的内容,扫码登录不成功。
解决方法如下:
这里的值应该设置为false,
按照官方文档的解释,可以找到问题所在
网页上的授权二维码是是封装在一个iframe中的,谷歌浏览器认为它是独立的访问,由此导致了为它重新生成了一个sessionid,而此处的sessionid不是top window网页的,所以导致获取不到原网页的值。
后话:花了一上午把整个扫码登录流程调试了一遍,没有发现问题,后来查看官方的文档才找到答案。希望帮到需要的人。
入口sessionid:0c2j9cuu4supq1b67m9ndbk0h7|time:2019-09-25 16:45:00
跳转微信url:http://hd-admin.9jiudian.com/xxl/index/Wxinfo/oauthCallback?channel_id=73&source=4|time:2019-09-25 16:45:00
微信回跳地址sessionid:3uf4q29cpm6ugnjlb1b09u1md0|time:2019-09-25 16:45:00
微信回跳地址接收参数{"channel_id":"73","source":"4","code":"061mZfX50gBQIC1zjcU50aszX50mZfXE","state":"62430dc0207b3a59e6d30b84fc03af6d"}|time:2019-09-25 16:45:00
发一下参数和日志信息。