登录系统:如何设计第三方授权数据库

什么是第三方登录

第三方登录(Third-party login)是指在一个网站或应用程序中,允许用户使用另一个网站或服务的账户进行身份验证和登录的过程。这种登录方式可以简化用户注册和登录过程,提高用户体验,因为用户无需为每个网站或应用程序创建新的账户和密码。

第三方登录通常使用 OAuth、OpenID Connect 等授权协议来实现。这些协议允许用户在不泄露密码的情况下,将他们在其他网站或服务上的身份信息共享给请求登录的网站或应用程序。

常见的第三方登录提供商包括:

  • 谷歌(Google)
  • 脸书(Facebook)
  • 微软(Microsoft)
  • 微信(WeChat)等。

使用第三方登录的好处:

  1. 提高用户体验:用户无需记住多个用户名和密码,可以快速登录。
  2. 提高注册转化率:简化注册过程,有助于吸引更多用户。
  3. 提高安全性:用户的密码不会泄露给第三方网站或应用程序,降低了安全风险。

然而,第三方登录也存在一些潜在的问题:

  1. 依赖外部服务:如果第三方登录提供商出现故障或服务中断,可能会影响用户的登录体验。
  2. 隐私问题:用户可能担心自己的个人信息被泄露或滥用。
  3. 跨平台兼容性:不同的第三方登录提供商可能需要不同的集成方式,增加了开发和维护的复杂性。

总之,第三方登录是一种方便且安全的登录方式,可以提高用户体验和注册转化率。然而,在实施时,需要权衡其优缺点,并确保用户的隐私和数据安全。

第三方登录表设计

第一种设计方式:user + auth + 站内登录放在用户表

相关的表:用户表user, 第三方授权表auth。将站内登录方式(用户名+密码,或者邮箱+密码)的信息直接保存到user表中。

user表

user表保存用户的基本信息,包含密码字段

user表设计:

字段描述
id自增id
name用户名
email邮箱
password密码
avatar头像
auth表

auth表保存第三方授权信息

auth表设计:

字段描述
id自增id
user_id与user表的id字段对应
openid第三方应用的唯一标识
identity_type登录类型 (email/phone) 或第三方应用名称 (微信, 微博等)
access_token第三方登录Token

第二种设计方式:user + auth + 站内登录作为特殊的第三方

相关的表:用户表user, 第三方授权表auth。将站内登录方式(用户名+密码,或者邮箱+密码)的信息作为一种第三方授权方式,保存到到auth表中。

user表
user表

user表保存用户的基本信息,去掉了密码字段

user表设计:

字段描述
id自增id
name用户名
email邮箱
avatar头像
auth表

auth表保存第三方授权信息

auth表设计:

字段描述
id自增id
user_id与user表的id字段对应
identifier站内登录标识 (email/phone) 或第三方应用的唯一标识
identity_type站内登录类型 (email/phone) 或第三方应用名称 (微信, 微博等)
credential站内账号是密码, 第三方登录是token

第三种设计方式:user + auth + user_auth

相关的表:userauthuser_auth。将user和auth的关联关系单独抽取出来做一张表:user_auth

user表

user表保存用户的基本信息,去掉了密码字段。

user表设计:

字段描述
id自增id
name用户名
email邮箱
avatar头像
auth表

auth表保存第三方授权信息

auth表设计:

字段描述
id自增id
identifier站内登录标识 (email/phone) 或第三方应用的唯一标识, 有的数据库将该字段命名为openid
identity_type站内登录类型 (email/phone) 或第三方应用名称 (微信, 微博等)
credential站内账号是密码, 第三方登录是token
user_auth表

保存userauth的关联关系

user_auth表设计:

字段描述
id自增id
user_iduser表中的id字段
auth_idauth表中的id字段
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值