2

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

阿熊 191
2012-03-07 提问
6 个回答
11

已采纳

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

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

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

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

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

1

那也就是设计上只支持oauth一种第三方协议,openid并不考虑进去是么?

阿熊 · 2012年03月11日

展开评论
0

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

0

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

-1

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

0

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

该答案已被忽略,原因:

0

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

该答案已被忽略,原因:

撰写答案

推广链接