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

时间:2012-04-17 06:08:09

标签: c# facebook

我正在与Facebook Connect做一些工作,并想知道如何在Stack Overflow上,例如,您可以使用其他登录提供商(如Facebook或Yahoo)登录,并且该网站能够将您的用户详细信息作为你在Stack Overflow上注册了吗?据我所知,您可以使用其他电子邮件地址进行注册,而您的名字和姓氏不是唯一标识符,那么它是如何完成的?

2 个答案:

答案 0 :(得分:1)

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

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

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

如果您有任何疑问,请在评论中写下。 :)

答案 1 :(得分:0)

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

如果您想允许多种登录方式,您可能会有另一个表格,其中包含提供商(Facebook,Twitter,Google等)与该帐户的关联ID之间的映射,并返回到您的用户表格。

基础知识是,当他们使用第三方登录系统登录时,您可以将其映射到您网站上的当前帐户,或者在您的网站上创建新帐户(如果尚不存在)并映射该帐户它。您显然需要向用户明确说明,或者在他们使用第三方时尚未登录的情况下合并帐户。您还可以从Facebook请求电子邮件访问,并在创建新帐户之前尝试将其映射到现有帐户

由于