5

我在解析 iOS SDK 时遇到以下问题。在我的应用程序中,用户可以使用电子邮件(用户名)/密码或 Facebook 登录。当他们使用 facebook 时,电子邮件(用户名)会自动设置。但是,如果用户首先使用电子邮件/密码登录,然后在注销后尝试使用 facebook 登录,他们会得到一个重复的帐户。在这种情况下,我的目标是将 facebook 链接到以前的帐户。有没有办法在创建新帐户之前检查潜在新用户的电子邮件是否存在于解析数据库中,如果存在则链接两个帐户?这样用户就不必记住他们使用的是 Facebook 还是电子邮件,他们可以无缝地使用两者。

谢谢。

4

3 回答 3

0

您需要的基本逻辑如下:

  1. 使用 Facebook 对用户进行身份验证
  2. 获取您需要的其他信息——例如,从 Facebook 图形 API 读取电子邮件,或者(在我的情况下)提示用户输入电话号码(您无法从 Facebook 获得)
  3. 在 Parse 用户表中搜索与该数据(电子邮件地址、电话号码等)匹配的帐户
  4. 如果找到匹配项,并且用户已针对此身份进行了身份验证*,则链接帐户并登录用户。
  5. 如果未找到匹配项,请使用电子邮件/电话身份为用户创建一个新的 Parse 帐户

这里有更详细的概述:合并通过 Facebook 注册的用户和已经通过电子邮件注册的用户?. 有示例 JS 代码,但 iOS 的想法应该是相同的。

*密切注意解析器在最后一个答案中所说的内容。如果 Facebook 用户声称拥有电子邮件地址或电话号码,您需要独立验证他们是否拥有该帐户(例如通过发送授权链接或代码)。

于 2016-01-11T00:23:18.770 回答
-1

它将“用户”与 Facebook 帐户轻松链接。

NSArray *permissionsArray = @[ @"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];
    [PFFacebookUtils linkUser:user permissions:permissionsArray block:^(BOOL succeeded, NSError *error) {
        //do anything
    }];
于 2014-05-22T12:54:50.343 回答
-1

您可以对 User 表进行简单查询,以查看是否已存在具有相同用户名的用户。如果是这样,您需要将 Facebook 数据链接到此帐户。他们的文档概述了如何使用 SDK 执行此操作:https ://parse.com/docs/ios_guide#fbusers-link/iOS

于 2013-10-29T16:26:44.800 回答