解决 微信手机端OpenId 跟 PC端OpenId不一致,导致有时某一端无法登录问题

发布时间:2024年01月10日

1.项目场景

公众号需要将微信用户的信息与user表信息进行绑定,完成登录操作

2.问题描述

在客户测试过程中有时会出现一种情况
??微信用户在完成公众号的注册绑定之后,手机端跟PC端会出现某一端登录不了的情况。这时候只能重新在无法登录的那一端进行二次注册绑定,但是这虽然可以解决问题,但是明显不合理

3.原因分析

在经过排查后发现是因为同一个微信注册同一个公众号,手机端跟PC端获取到的OpenId有可能是不一致的。
??1.而我写的登录逻辑则是将OpenId存到token表里,如果token表有当前登录微信用户的OpenId,则说明已经注册了,正常登录即可。否则就走注册绑定流程。
??2.这样的逻辑下,同一个微信,手机端跟PC端不一致的OpenId自然需要注册2次

4.解决方案

修改原有的登录逻辑
??从微信获取到用户信息时,不再使用OpenId作为是否已经注册的条件,改为使用微信返回的UnionId。这样不管是手机端还是PC端,进入公众号之后获取到的UnionId就是一致的

5.UnionId说明

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_54386866/article/details/135508368
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。