如何使用Facebook用户对象来获取自己的用户对象

本文关键字:对象 用户 获取 自己的 何使用 Facebook | 更新日期: 2023-09-27 18:31:16

我正在使用Facebook Connect做一些工作,想知道例如,在Stack Overflow上,

您可以使用其他登录提供商(如Facebook或Yahoo)登录,并且该网站能够在您在Stack Overflow上注册用户详细信息时获取您的用户详细信息? 据我所知,您可以使用不同的电子邮件地址注册,并且您的名字和姓氏不是唯一标识符,那么如何完成呢?

如何使用Facebook用户对象来获取自己的用户对象

这完全取决于您的使用案例。例如,我使用电子邮件地址作为唯一标识符。当您使用Facebook登录时,我的门户还会询问来自Facebook的电子邮件地址。然后,它从数据库中搜索具有匹配电子邮件地址的用户对象。

有多种方法可以做到这一点:

  • 只允许通过脸书登录。然后,您绝对可以通过他们的电子邮件地址识别所有用户。
  • 也允许通过Facebook和用户名/密码登录,但要求用户在两个地方使用相同的电子邮件地址。
  • 也允许通过Facebook和用户名/密码登录,并允许您的用户为每个用户名使用不同的电子邮件地址。这是最复杂的选项。大多数网站通过要求用户将其Facebook帐户与其网站帐户"配对"来解决此问题。这意味着首次设置时,用户需要登录网站,当他们登录到网站时,他们可以登录Facebook。然后,您的网站存储他们的Facebook身份(在这种情况下不需要电子邮件,只需将用户ID存储在字段中)。在此之后,用户只能通过Facebook登录,您可以将他们的Facebook用户ID与您自己的数据库中的相应用户对象配对。

如果您有任何疑问,只需在评论中写下即可。 :)

您很可能会在用户表上添加新列,例如facebook_uid。然后,如果用户拥有现有帐户,您可以让他们先登录该帐户,然后再连接到 Facebook,然后您可以将他们的facebook_uid与您现有的user_id存储。然后,如果用户出现并且已经登录到Facebook,您也可以将他们登录到您的网站。如果用户在您的网站上没有现有帐户,您只需创建一个(可能使用Facebook上的用户名填充它)

如果您想允许多种登录方法,您可能会有另一个表,该表保存提供商(facebook,twitter,google等)之间的映射以及该帐户的关联ID回到您的用户表。

基本情况是,当他们使用第三方登录系统登录时,您可以将其映射到您网站上的当前帐户,或者如果您在网站上创建新帐户(如果尚不存在),然后将该帐户映射到该帐户。您显然需要向用户明确说明这一点,或者有某种方式来合并帐户,以防他们在使用第三方时尚未登录。您也可以从Facebook请求电子邮件访问权限,并尝试将其映射到现有帐户,然后再创建新帐户

谢谢