乐于分享
好东西不私藏

【AICode】App、小程序多端登录时,后端账号合并统一历程

【AICode】App、小程序多端登录时,后端账号合并统一历程

点击上方蓝字关注寒渊Hyen
前言:
前两天做小程序方案规划时,考虑到可能有App、小程序分别登录时,不同端的相同账号统一问题,特将梳理结果整理出来。
一、小程序登录流程
后端采用FastAPI开发,用户登录需要经过前端(小程序)、后端、微信服务器三方交互完成整体登录交互。
APP做前端时,如果绑定了微信开放平台,也可以通过微信登录和小程序登录通过微信服务返回的unionId进行账号统一、合并处理。
登录时序图如下
二、登录成功后续交互

登录完成后,用户进行业务操作(如创建宠物名片)时的交互:

  1. 携带 Token:前端在 wx.request 的 header 中添加 Authorization: Bearer <TOKEN>

  2. 后端校验:FastAPI 使用依赖注入(Depends)拦截请求:

    • 验证 JWT 是否过期或被篡改。

    • 从 Payload 中提取 user_id 或 unionid

  3. 业务处理:后端根据解析出的 ID 操作数据库,返回 JSON 结果。

三、针对未来 APP 合并的特殊设计

当你未来开发 App 时,交互流程几乎完全一致,唯一的区别在于:

  • App 端: 通过微信 SDK 获取 code

  • 后端接口: 调用微信的 oauth2/access_token 接口换取身份。

  • 合并点: 因为拿到的unionid是同一个,后端执行get_user_by_unionid时会直接找到小程序的老账号,从而实现“换端不换号”。

结语:通过以上流程即可完成App、小程序分别使用微信登录时出现两个账号问题。
但是App提供了非微信登录的其他方式,然后在绑定微信时,可能就需要根据手机号、身份证ID进行账号合并统一了,但是此合并方式可能存在历史数据整合的问题,需要具体场景再具体输出合并方案。

如果你也在做同样的事,欢迎在留言区详聊;

欢迎关注寒渊(Hyen)公众号、添加寒渊(Hyen)微信。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【AICode】App、小程序多端登录时,后端账号合并统一历程

猜你喜欢

  • 暂无文章