找回密码
 立即注册

QQ登录

只需一步,快速开始

天朝四周处 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-3-7 18:15  /   查看:724  /  回复:5
1金币
本帖最后由 天朝四周处 于 2024-3-7 18:18 编辑

我们用活字格开发了一个微信小程序,采用的是绑定登录的策略,由于我们初始密码相同,就难免有用户在绑定账号的时候出错。在解决这个问题的时候,出现了一些奇怪的现象:

针对出错的用户,我们在用户管理后台删掉他的openID,他仍然可以微信登录;
删掉他的账号,重新创建,用户名不变,他仍然可以微信登录;
删掉账号重新创建后,测试使用其它微信号绑定他的账号,绑定成功,之后他的微信号和新绑定的微信号竟然可以同时登录。
清除微信缓存也没有用。

请问各位大神,这是哪里的问题


最佳答案

查看完整内容

我说一下我的思路,下面这个方案的原理大致是,用微信小程序的api拿到当前微信用户的openid,然后调用活字格的服务端命令,以拿到的openid作为用户名,在活字格服务管理器新建一个用户,然后单点登录获取token,第二次用户打开小程序的时候,用的是活字格的token,没过期就直接登录。具体有时间可以看下小程序代码,很好理解。 【对接方案】微信小程序中嵌入活字格 https://gcdn.grapecity.com.cn/showtopic-175165-1-1. ...

5 个回复

倒序浏览
最佳答案
最佳答案
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2024-3-7 18:15:41
来自 6#
我说一下我的思路,下面这个方案的原理大致是,用微信小程序的api拿到当前微信用户的openid,然后调用活字格的服务端命令,以拿到的openid作为用户名,在活字格服务管理器新建一个用户,然后单点登录获取token,第二次用户打开小程序的时候,用的是活字格的token,没过期就直接登录。具体有时间可以看下小程序代码,很好理解。


【对接方案】微信小程序中嵌入活字格
https://gcdn.grapecity.com.cn/showtopic-175165-1-1.html
(出处: 葡萄城开发者社区)

所以openid只是单向的用微信的api拿到了给到了活字格,除此并没有其他关联关系。可以排查下你的绑定逻辑,不用小程序目的是为了排除是不是活字格绑定用户的问题。

蹲一个大神看有没有其他高见。
回复 使用道具 举报
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2024-3-8 11:58:12
2#
大佬,猜测是可能和openid变化有关,关于openid策略:


微信的openid在以下情况下不会变化:

1. 同一公众号(或小程序)下,同一用户对应的openid始终是唯一的,不会因为网络、地点等因素而改变。
2. 用户更换绑定的手机号码或者修改微信号时,openid也不会变。

然而,在以下情况下openid会发生变化:

1. 当用户解除对原公众号的关注并重新关注时,openid可能会发生变化。
2. 如果用户使用不同的公众号或小程序进行授权登录,每个公众号和小程序都会生成不同的openid。
3. 微信公众号迁移至另一个公众号时,粉丝的openid会变为新公众号对应的新openid。

综上所述,openid主要与特定的公众号或小程序及用户的唯一绑定关系有关,在这个特定关系不改变的前提下,openid通常是固定的。但当涉及不同公众号之间的切换或账号迁移时,则openid会发生变化。同时,如果需要识别同一个用户在不同公众号下的身份,可以使用unionid,它在同个开放平台下,同一用户对所有关联公众号是保持不变的。


建议可以打断点调试排查下微信小程序里实现的绑定用户逻辑。
回复 使用道具 举报
天朝四周处悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-3-8 12:04:38
3#
本帖最后由 天朝四周处 于 2024-3-8 12:05 编辑
Erik.Xue 发表于 2024-3-8 11:58
大佬,猜测是可能和openid变化有关,关于openid策略:

薛工,我们在用户管理后台把用户的OpenID删掉,他仍然可以登录之前绑定的小程序,而且可以多个微信登录同一个账号
微信登录我们的小程序,他不需要验证我们保存的OpenID吗?
小程序很坑的是没有用户管理这个模块,也就是说小程序有多少用户,我们只能在自己系统看,然而自己系统清空OpenID还能登录,说明这个也不准确。
只好再研究一下它的绑定逻辑了

回复 使用道具 举报
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2024-3-8 12:21:21
4#
本帖最后由 Erik.Xue 于 2024-3-8 12:23 编辑

如果觉得是活字格的问题,或者是不是可以不要在微信小程序测试,看脱离了微信小程序之后有没有此问题。

可以看下解决方案里的代码逻辑,在活字格里验证用户只是把openid作为用户名,和微信小程序验不验证openid有啥关系,验证逻辑是在验证活字格的用户。
回复 使用道具 举报
天朝四周处悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-3-8 12:35:22
5#
Erik.Xue 发表于 2024-3-8 12:21
如果觉得是活字格的问题,或者是不是可以不要在微信小程序测试,看脱离了微信小程序之后有没有此问题。

...

问题就出在微信登录小程序绑定用户这上面啊,没明白脱离了小程序测试啥呢
微信自动登录活字格开发的小程序,他不需要验证吗?我理解的是,我们以自己的用户名作为用户名绑定微信,绑定成功我们就保存用户的OpenID,下次使用微信登录的时候微信就以OpenID来查找是哪个用户吧?当然这只是我脑补的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部