前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第三方API登录实现方案

第三方API登录实现方案

作者头像
切图仔
发布2022-09-14 14:54:49
5470
发布2022-09-14 14:54:49
举报
文章被收录于专栏:生如夏花绚烂
两种解决方案

第一种 当用户点击第三方登录的时候,进行鉴权,并在用户表创建一个用户,保存其头像,openid等 不过这种方式只适用于一种三方登录,如微信登录,当涉及到多种登录时这种方式不不适用了,比如我们有三种登录方式 微信,QQ,微博 如果用上面的方法,当用户第一次点微信登录时我们会在用户表创建一个用户,并且自增了一个用户id:1 当用户第二次选择QQ登录的时候,我们又会在用户表创建一个用户,其实这两个”用户“是同一个人,但此时数据库又会增加一个用户 自增id:2 当用户某天选择了微博登录,此时数据库又增加一个用户 自增id:3 这三个用户都是同一个人,那么问题来了,怎么把他们关联到一起?

是不是要选谁为主要的用户做载体,因为三个userid都是不一样的,他们关联(邮箱,手机号)不可能的,除非删除某两个

但有些用户只用qq和微博登录过,我想qq和微博关联到一起,我们没有办法,固定用户适用某个平台登录。

第二种 我们创建一个user_bind表 字段如下: id type:登录类型 openid user_id:绑定主表用户 nickname:昵称 avatarurl:头像 当用户进行第三方登录时,我们在user_bind里面创建记录

将user_id与用户表的id关联,通过这种方式即可实现多平台登录绑定。因为他们都可以绑定同一个user_id 如何实现关联? 当用户首次第三方登录时 在use_bind表创建一个第三方登录的用户,此时使user_id=0 当用户操作时,此时user主表是没有相关记录的 ,我们强制让用户绑定手机号码 因为user_id=0用户主表(user)没有记录,当用户绑定时,我们在user表创建一个用户并且拿到用户id并绑定到当前第三方登录(user_bind)中,当用户下次选择其他方式时我们再次提醒绑定当手机号,当手机号相同时我们还是写入相同的user_id这样即实现多种登录方式绑定。

第三方登录实现—->uni-app第三方登录实现

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 两种解决方案
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档