Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
oAuth用于记住用户的标准是什么?_Oauth_Twitter Oauth_Facebook Oauth_User Accounts - Fatal编程技术网

oAuth用于记住用户的标准是什么?

oAuth用于记住用户的标准是什么?,oauth,twitter-oauth,facebook-oauth,user-accounts,Oauth,Twitter Oauth,Facebook Oauth,User Accounts,我和我的同事开发了一个应用程序(web应用程序和移动应用程序(iPhone和android)),其中包括一个登录过程。 目前,我们有自己的登录机制(用户在我们的应用程序上注册了一个帐户,并将其信息存储在我们的数据库中)。我们正在考虑整合oAuth,并允许用户登录Facebook、Twitter、LinkedIn和Google 现在,当用户使用其中任何一种登录时,据我所知,登录过程发生在我们的应用程序之外,基本上只获得访问其资源的权限 我的问题是:通过oAuth,我们如何记住用户?i、 例如,登录

我和我的同事开发了一个应用程序(web应用程序和移动应用程序(iPhone和android)),其中包括一个登录过程。 目前,我们有自己的登录机制(用户在我们的应用程序上注册了一个帐户,并将其信息存储在我们的数据库中)。我们正在考虑整合oAuth,并允许用户登录Facebook、Twitter、LinkedIn和Google

现在,当用户使用其中任何一种登录时,据我所知,登录过程发生在我们的应用程序之外,基本上只获得访问其资源的权限

我的问题是:通过oAuth,我们如何记住用户?i、 例如,登录的用户具有读/写权限和首选项。当他们实际上没有通过我们的应用程序注册时,我们如何记住他们。。我们可以将他们的电子邮件地址存储在“用户”表中吗

在这种情况下,最佳做法是什么


感谢您提供的任何信息。

为几个不同的OAuth支持的网站构建了身份验证数据库,我可以说我学到了一些您应该记住的东西

  • 您的站点应该有一个用户表,该表完全独立于他们用于注册/登录的OAuth提供商。这使您的站点用户能够在其站点上的主标识下将多个帐户组合在一起。(例如,将Facebook和Twitter与您关联。)
  • 当你让用户注册时,你应该从他们那里得到一个电子邮件地址。无论你是向Facebook索要,还是必须直接询问。这使您能够在以后将用户从单纯依赖第三方OAuth“升级”到在您的站点上设置他们自己的密码。(您只需向他们发送一个指向密码重置页面的链接,就可以让他们开始创建第一个密码。)
  • 您不想使用电子邮件地址作为主键。我不确定你是否真的在描述这个,但你真的希望他们有一个本地用户ID,你用它来维护他们的会话等等。然后你将他们的Facebook ID或Twitter ID与本地ID关联,使用这些标识符之间的对应关系来匹配您的站点的用户考虑登录的内容。

  • 谢谢你的反馈!!有几个问题:--关于第1点,这是否适用于用户使用不同的OAuth帐户(Facebook、Twitter等)登录,但它们仍然链接并被视为一个实际帐户的情况?--关于第2点,升级是什么意思?你能澄清一下这个用例吗关于第3点,“本地用户ID”是由系统/数据库生成的还是由最终用户指定的?另外,您将如何处理以下用例:用户X通过Facebook登录。我存储他的Facebook ID并将其链接到本地用户ID。下次,用户X通过Twitter登录。我如何确定是同一个人(之前通过Facebook登录),以便获取他的用户偏好。。这是基于电子邮件地址(这可能是他的Facebook和Twitter账户的共同点,也可能不是)??谢谢你的帮助!既然推特不提供电子邮件,这对推特有何作用?如何知道twitter用户是否与facebook用户相同,但没有像电子邮件这样的唯一身份?+1表示“你只需向他们发送一个指向密码重置页面的链接,让他们开始创建第一个密码”