android第三方登录数据库设计以及业务数据流向说明

2023-05-16

最近公司开发android项目,用户可以通过注册的手机帐号登录,也可以通过第三方登录(QQ、新浪微博、微信),手机帐号可以绑定第三方帐号,第三方帐号也可以绑定手机帐号。

这里设计两张数据库表,一张是账号表,用来存储手机注册的帐号,或者第一次通过第三方登录之后,默认生成的帐号信息,另一张表是第三方帐号绑定关系表。

表结构如下(只暂时基础的字段):

user表(帐号表)

userid   varchar(64),// 用户编号GUID,主键

username varchar(64),// 用户姓名

register_type int ,// 帐号生成类型,手机注册、QQ、微信、新浪微博

u_qq_key  varchar(64),// 第三方登录QQ的唯一标识

u_wx_key  varchar(64),// 第三方登录微信的唯一标识

u_xlwb_key varchar(64)// 第三方登录新浪微博唯一标识


thirdlogin(第三方登录帐号关联表)

thirdguid  varchar(64),// 主键GUID

userid      varchar(64),// 用户帐号GUID,外键

third_key  varchar(64)// 第三方登录唯一标识


业务数据流向:

第三方登录

例如QQ登录,默认在user表中插入一条记录,register_type为QQ,u_qq_key为第三方QQ登录生成的唯一标识,同时在thirdlogin表中插入一条记录,userid为user表生成帐号的userid,third_key为第三方登录的唯一标识,其他第三方登录帐号类似。


首次注册手机帐号:

在user表中插入一条记录,register_type为手机,thirdlogin表不用操作


第三方帐号绑定手机帐号(以QQ帐号为例):

1)首先第三方帐号只能绑定手机帐号,不会存在直接的第三方帐号之间绑定,例如qq绑定新浪微博,这是不存在的。

2)第三方帐号未绑定手机帐号之前,使用第三方帐号登录,进入系统之后可以提示绑定手机帐号,绑定手机帐号需要把thirdlogin表中的之前的QQ帐号生成的那条记录的userid替换成绑定的手机帐号的userid,然后android系统的数据切换到绑定的手机帐号的数据上。

这个时候会存在一个情况,就是如果之前是第三方QQ帐号的信息都没有了,显示的都是新的手机帐号的数据。

3)如果需要看之前的第三方qq登录的时候数据信息的时候,需要解除绑定,然后用第三方qq登录之后查看。


手机帐号登录:

1)如果手机帐号之前未绑定第三方帐号:绑定qq帐号,假设这个qq帐号已经被其他手机帐号绑定过了,那么需要提示一下,但是依然可以继续绑定(因为具有该qq的操作权限),绑定之后,需要把thirdlogin表中的之前的QQ帐号生成的那条记录的userid替换成绑定的手机帐号的userid,如果之前没有用第三方帐号登录过,那么需要插入一条thirdlogin表中的记录。

2)如果第三方帐号已经绑定了手机帐号,那么用第三方帐号登录的时候,会自动关联手机帐号,实际上相当于使用的手机帐号登录。

3)解除第三方绑定,可以把third表中的第三方帐号的关联记录中的userid清空。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android第三方登录数据库设计以及业务数据流向说明 的相关文章

  • 字符串加减计算

    描述 xff1a 通过键盘输入100以内正整数的加 减运算式 xff0c 请编写一个程序输出运算结果字符串 输入字符串的格式为 xff1a 操作数1 运算符 操作数2 xff0c 操作数 与 运算符 之间以一个空格隔开 补充说明 xff1a
  • C/C++中,为什么字符串可以赋值给字符指针变量,单引号和双引号的区别

    本文是通过几篇转帖的文章整理而成的 xff1a http www slyar com blog c quotation marks html http www cnblogs com KingOfFreedom archive 2012 1
  • 操作符优先级全列表,一览表

    在一个表达式中可能包含多个有不同运算符连接起来的 具有不同数据类型的数据对象 xff1b 由于表达式有多种运算 xff0c 不同的运算顺序可能得出不同结果甚至出现错误运算错误 xff0c 因为当表达式中含多种运算时 xff0c 必须按一定顺
  • 枚举类的赋值和基本操作

    枚举类型的定义 枚举类型 enumeration 是C 43 43 中的一种派生数据类型 xff0c 它是由用户定义的若干枚举常量的集合 定义格式 xff1a 枚举类型的定义格式为 xff1a enum lt 类型名 gt lt 枚举常量表
  • AttributeError: module ‘gym.envs.atari‘ has no attribute ‘atari_env‘ 解决方案

    问题描述 今天在执行以下代码时 xff1a is atari 61 hasattr gym envs 39 atari 39 and isinstance env unwrapped gym envs atari atari env Ata
  • linux 防火墙常用命令

    firewalld防火墙 CentOS 7 1 查看firewalld服务状态 systemctl status firewalld 出现 Active active running 高亮显示则表示是启动状态 出现 Active inact
  • 2020年百度之星·程序设计大赛-初赛三 补题/解题

    Title Discount题解 Game题解 Permutation题解 Intersection题解 ChessAntFightGraph Discount Problem Description 学皇来到了一个餐馆吃饭 他觉得这家餐馆
  • 实习前言

    2018年4 19正式实习入职科大讯飞 xff0c 18日下午到达科大讯飞股份有限公司 第一时间拎着行李赶到提前与HR约定好的时间下午3 30地点A2综合服务中心 xff0c 进行住宿安排 入住的是所有实习生住的某工业园 xff0c 离A1
  • 科大讯飞总裁办实习第1周

    正式实习第一周 xff0c 从4月23日开始 根据上周五灿武哥给的邮件任务为导向 xff0c 开始学习输入 对于ibpms设计器的学习 xff0c 灿武哥给了3份学习文档资料 xff0c 其实是针对不同使用人群的使用手册 xff08 针对管
  • 科大讯飞总裁办实习第二周

    五一放假回来第一天上班就是周三啦 xff0c 这周只需要上三天班 xff0c 在上下午间隙时间 xff0c 研读流程管理使用手册 xff0c 整理以下几个概念知识点 流程管理的目标 xff1a 使企业的流程运作从整体上更加顺畅 协调 xff
  • 科大讯飞总裁办实习第三周

    5 7号周一上班收到的第一个消息 xff1a 带我流程的瑞哥请假三天 经理在群里说这块找张杰确认 xff0c 突然就一个重担砸到我的身上了 之前一直站在瑞哥的身后 xff0c 需求来自于瑞哥直接吩咐 xff0c 现在直接需求来源于项目推进
  • 科大讯飞总裁办实习第5周

    5 21 周一上班首先补充试点推广流程文件详细信息 xff0c 上午共导出5 xff0c 6 xff0c 7 xff0c 8四个流程文件 上午经理在群里下达最后截止日期 xff0c 所有的规范 xff0c 流程 xff0c 文件都要周五之前
  • 科大讯飞实习第八周日志

    0611早上欲打算与业务部门尽快完善流程 xff0c 大早上联系那边的流程设计人员 xff0c 不巧的是他早上有会 xff0c 然后就自己看华为变革及管理流程框架 xff0c 下午一点半和宇婴哥一起参加了销委会商机研讨会议 xff0c 回来
  • PostgreSQL数据库导出建表语句的方法

    pg dump U postgres d dbname s gt sql txt
  • spyder导入tensorflow包

    一 xff0e spyder介绍 Anaconda中自带的集成开发环境用于科学计算还是蛮好的 xff0e 它和其他的Python开发环境相比 xff0c 它最大的优点就是模仿MATLAB的 工作空间 的功能 xff0c 可以很方便地观察和修
  • ValueError: Disable frame-skipping in the original env. 解决方案

    问题描述 今天试图在Atari上运行以下代码时 xff0c 出现了题目中的bug xff1a env 61 AtariPreprocessing env grayscale obs 61 True scale obs 61 True ter
  • OpenKylin适配和虚拟打印机

    最近在测国产OS客户端部分 首先客户端程序在CentOS全部使用没毛病 xff0c 但是CentOS桌面体验比较差 然后就试了UOS xff0c 在UOS上测试到打印这块花了很多时间 xff0c 碰到问题是CUPS有反应 xff0c 但是没
  • 基础命令整理

    1 who显示的是当前真正登录系统中的用户 16 05 59 root 64 localhost who ZT tty2 2021 11 03 10 45 tty2 ZT pts 1 2021 11 05 08 28 10 0 0 1 2
  • ubuntu apache2 配置安装ssl证书,https

    1 申请免费阿里证书 2 配置证书 在这里 xff0c 我假设你已经会配置基本的 etc apache2 sites available 000 default conf这个文件来达到已经可以通过 http 的方式来访问你的站点 在 etc
  • 今日头条2018校招笔试题之字符串的问题

    今日头条 xff0c 很干脆 xff0c 直接就四个编程 xff0c 一个改错 做的很烂 xff0c 只能来写一个题 字符串S由小写字母构成 xff0c 长度为N xff0c 定义一种操作 xff0c 每次都可以挑选字符串中任意的两个相邻字

随机推荐

  • ios 瀑布流

    瀑布流 xff0c 又称瀑布流式布局 是比较流行的一种 页面布局 xff0c 视觉表现为参差不齐的多栏布局 xff0c 随着页面滚动条向下滚动 xff0c 这种布局还会不断加载 数据块并附加至当前尾部 说明 xff1a xff08 1 xf
  • 旧电脑变废为宝成为nas

    老台式机1台 可用任意电脑一台 xff0c 用来调试nas U盘1个 xff0c 64M以上 黑群晖安装包 显示器 下载黑群晖安装工具包 xff1a http pan baidu com s 1eRSAwAQ 使用ChipEasy检查并记录
  • debian的初始化操作

    设置默认的编辑器为vim uppdate alternatives config editor 输入你选择的编辑器即可 配置visudo z ALL ALL ALL NOPASSWD ALL 增加开启termial的快捷键 系统设置 快捷键
  • go调用本地python代码

    go调用本地python代码 1 mac环境下测试 目录结构 xff1a go代码 xff1a xff08 windows没有python3命令 xff0c windows的话改成python即可 xff09 span class toke
  • (四) Docker之Dockerfile编写与指令解析,自定义镜像实战

    Docker之编写Dockerfile 1 Dockerfile介绍1 1 docker build1 2 dockerignore文件1 3 Dockerfile格式 2 Dockerfile构建过程解析2 1 Dockerfile内容基
  • 如何安装指定版本Pytorch:

    如何安装指定版本Pytorch 使用conda安装指定版本 conda install pytorch 61 0 1 10 c soumith 使用pip安装指定版本 pip install pytorch 61 61 0 1 10 如何查
  • gym ValueError: too many values to unpack (expected 4) 解决方案

    问题描述 今天在执行以下代码时出现了题述错误 xff1a new obs rew done info 61 self env step action new obs rew done info 61 self env step action
  • linux查看openjdk的安装的路径(环境变量)

    前言 xff1a 现在基本上linux为了避免版权问题都会默认的为你安装开源的openjdk xff0c 而不是jdk 有些时候需要运行一些环境需要用到jdk的环境变量 xff0c 本文就是简单描述下如何查看openjdk的环境变量 1 e
  • linux图形界面基本知识(X、X11、Xfree86、Xorg、GNOME、KDE之间的关系)

    转载 xff1a http apps hi baidu com share detail 11596555 LINUX初学者经常分不清楚linux和X之间 xff0c X和Xfree86之间 xff0c X和KDE xff0c GNOME等
  • windows xp远程连接

    本节将用到windows网络共享 xff0c 实现外网可以远程连接局域网内的任意主机 实验环境 两台windows xp虚拟机 xff08 内网 43 外网 xff09 xff0c 一台主机 配置外网虚拟机 首先 xff0c 为虚拟机添加两
  • 系统架构之三(业务运营支撑系统)

    本人从事过3年的移动业务运营支撑系统开发 xff0c 行业术语叫做boss系统 xff0c 后又转入游戏行业进行游戏开发 现设计一个业务运营支撑系统的架构如下 xff1a 详细解释各模块如下 xff1a gateway dispatch x
  • Debian下安装xfce4

    环境 Debian wheezy stable 步骤 1 第一张光盘安装Debian 速度快 xff0c 可定制 2 设置 etc apt sources list 去掉cdrom的路径 3 安装apt spy xff0c 搜索最符合自己的
  • 天天讲路由,那 Linux 路由到底咋实现的!?

    大家好 xff0c 我是飞哥 容器是一种新的虚拟化技术 xff0c 每一个容器都是一个逻辑上独立的网络环境 Linux 上提供了软件虚拟出来的二层交换机 Bridge 可以解决同一个宿主机上多个容器之间互连的问题 xff0c 但这是不够的
  • 面向对象的概念和类和对象的概念

    面向对象 1 概念 ES6中的面向对象是和其他语言基本比较相似 JS正常来说是基于对象语言 很多程序都是基于对象开发 不是面向对象 但是在ES6中 我们引入了其他语言中的面向对象 面向过程就是 你需要什么 写什么 面向对象 他就是 你直接封
  • ubuntu系统安装完nvidia显卡驱动后黑屏,不能进入系统

    昨天想看显卡 xff0c 更新了下驱动 xff0c 发现服务器重启进不去 步骤 1 开机按esc 进入 选项界面2 进去以后选择一个括号里面带recovery mode的选项3 然后它自动黑屏出现代码 xff0c 然后弹出一个选择框 xff
  • 【MySQL 主从复制、分离解析】

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 一 MySQL主从复制1 主从复制架构和原理1 1服务性能扩展方式1 2 MySQL的扩展1 2 1什么是读写分离1 2 2为什
  • 解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题

    Mybatis Plus版本3 4之后 xff0c 对分页查询进行了优化 对于单表查询是没有问题的 而需要多表关联查询 xff08 自写sql xff09 时 xff0c 就会查询调用Mybatis Plus的 page E page Wr
  • python 创建文件夹/表示文件夹路径的神奇写法

    今天看到了一个创建保存路径的神奇写法 xff0c 把它记下来以便后续参考 xff1a import os os makedirs 34 results 34 43 os sep 43 34 spotter 34 43 os sep 43 s
  • 华为交换机配置snmp

    查看snmp版本 display snmp agent sys info version 设置 snmp agent 配置版本 snmp agent sys info version v2c snmp agent sys info vers
  • android第三方登录数据库设计以及业务数据流向说明

    最近公司开发android项目 xff0c 用户可以通过注册的手机帐号登录 xff0c 也可以通过第三方登录 xff08 QQ 新浪微博 微信 xff09 xff0c 手机帐号可以绑定第三方帐号 xff0c 第三方帐号也可以绑定手机帐号 这