能介绍一下sf的第三方账号绑定、登录结合本地用户数据库的结构设计么?

阿熊
  • 191

在系统中账户、用户和登录认证的检查在数据存储层的结构是如何设计的呢,以及随后的认证和绑定(解除)的流程在设计中是如何解决的?

回复
阅读 13.9k
6 个回答
✓ 已被采纳

我们的设计非常简单,用了另外一个表专门来存放与第三方帐户的绑定,其实这个表的核心字段就是两个,一个是我们网站的用户id,一个是用户在第三方网站的id

这样用户在用第三方帐号登录时,我们用oauth接口取到用户在第三方网站上的id,然后再从这个表中检索,这个id是否对应有我们网站的id。

如果有,那么就登录这个id的用户。

如果没有,那么为它注册一个新用户,并在绑定表中生成一条绑定纪录,以便下次登录查询。

用户要解除绑定就只需要把绑定纪录从绑定表中删除就行了。

看了下,SF 这方面做得的确很干净简洁。
如果用户第三方登录的话,设置密码时不需要填写当前密码。设置密码之后,应该可以照常邮箱、密码登录。
学习了。

go_child
  • 1
新手上路,请多包涵

第三方的id应该不是id吧,是不是对应每一个第三方用户生成的一个特殊的标示字符串?

品笑话了
  • 1
新手上路,请多包涵

非常感谢!我一直没有思路刚刚看了2楼的回答让我顿然矛盾涉开。谢谢!

飞过海
  • 1
新手上路,请多包涵

如果用户先注册了帐号,然后再用第三方登录,那怎么绑定呢?

zyw3100
  • 1
新手上路,请多包涵

如果用户先注册了帐号,然后再用第三方登录,那怎么绑定呢?

你知道吗?

logo
社区建设
子站问答

SegmentFault 社区建设建议反馈讨论

访问社区
宣传栏