Oauth授权的用户注册工作流程

时间:2011-03-10 16:25:04

标签: facebook oauth connect

PS:我理解OpenID身份验证和Oauth授权的概念(我认为)。我使用Facebook作为Oauth的例子

网站有一种趋势,要求您通过“使用Facebook登录”进行“注册”,但在注册工作流程中(在收到您的Facebook帐户的权限和会员信息后),他们仍然会要求您选择用户名和密码。这会创建一个本地用户并将该用户“链接”到所述Facebook帐户。

但是现在我在注册过程中注意到了像buzzfeed甚至stackoverflow这样的网站,他们似乎正在用facebook进行完全身份验证。您授予网站权限给您的Facebook帐户,您现在已登录(作为Facebook用户)

更新(更正了对身份验证的授权): 这是否意味着facebook connect现在进行“身份验证”?这是否意味着用户不再存储在本地?

1 个答案:

答案 0 :(得分:1)

在stackoverflow的情况下,我认为他们在内部创建用户帐户,但是他们代表用户创建用户名 - 如user1243534,如果用户没有指定他自己的用户帐户。此内部帐户用于存储用户的所有stackoverflow相关信息,这些信息在facebook(或其他提供商)中不存在 - 信誉,问题,答案,一切。

如果在您的情况下,您的Web应用程序不需要记录与用户相关的任何数据,除了具有一些会话临时变量的会话(他使用Facebook登录,他的Facebook名称等),那么您可以省略本地用户存储和帐户。在这种情况下,当他的当前会话到期时,您的应用程序将丢失与用户相关的任何数据。

但是,如果您想存储与您的用户相关的任何数据,例如他登录的次数,他喜欢的语言,持久性设置或者未存储在提供商中的任何内容,都应该创建本地用户帐户。

您的第一个问题:是的,如果没有提供其他身份验证过程,则每次用户想要登录时都会对Facebook进行身份验证。

您的第二个问题:取决于您是否希望将用户数据存储的时间超过会话持续时间(未从提供商处获取的用户数据)。