我可以在解析时将一个人与 twitter 和 facebook 联系起来吗?

Posted

技术标签:

【中文标题】我可以在解析时将一个人与 twitter 和 facebook 联系起来吗?【英文标题】:Can I link a person with both twitter and facebook on parse? 【发布时间】:2015-10-24 23:06:05 【问题描述】:

我正在创建一个人们可以通过 facebook、twitter 或电子邮件注册的应用程序。找朋友的时候可以链接他的facebook、twitter账号。

问题是,如果一个人已经与facebook或twitter关联,我无法将其与其他帐户关联,因此每次该人需要寻找朋友时都需要重新登录。

有没有办法让同一用户同时拥有两个身份验证数据,这样当用户同时链接 twitter 和 facebook 时,它会显示朋友而无需再次登录?

谢谢!

【问题讨论】:

见***.com/questions/16228930/… 【参考方案1】:

遇到了同样的问题,而且我还想要 Google+ 登录。我所做的是创建一个包含以下字段的Account 对象:

提供者:字符串 - Twitter、Facebook、谷歌…… uniqueId:字符串 - 包含 Twitter ID、Facebook ID 等。 用户:指针 - 包含与此 ID 关联的用户

然后我创建了一个脚本来浏览所有用户并将他们的authData 导出到几个Account 条目中。我还在 _User 上添加了一个 afterSave 挂钩来迁移新用户数据。

现在最困难的部分...由于 Parse 没有为我们提供社交登录的挂钩,我不得不在 Cloud Code 上手动处理所有事情。这个想法是使用 Facebook 和 Twitter 的 SDK 来获取用户的帐户 ID 和访问令牌。 然后将这些数据发送到loginFromFacebook/LoginFromTwitter 云函数,并控制 Facebook/Twitter ID 是否与访问令牌匹配(例如,通过向 Facebook 的 Graph API 发出请求)。一旦您知道您拥有的用户 ID 是正确的,您需要检查它是否存在于 Account 中。如果是,则返回(使用 response.success)与此 ID 关联的 Parse 用户的会话令牌(Account.user 字段),并在客户端上使用 User.become 完成用户登录。如果没有,您需要创建一个新用户,在Account 中添加条目,并返回新用户的会话令牌(+ 在客户端执行 User.become)。

现在,感谢Account 表,您只需更改Account 表中的关联用户ID 即可轻松链接/取消链接用户。您还可以轻松检查 Facebook 好友(如果您请求许可)。

【讨论】:

【参考方案2】:

答案是否定的。因为,Parse.com 只有一个用于 One Application 的 User 类,而在该 User 类中,我们只有一个 -authData-(身份验证数据)。每当用户使用社交网络凭据登录时,该数据将用于会话。该 AuthData 最多包含 1 种类型。

【讨论】:

【参考方案3】:

很好的问题。这对我来说也很难找到答案。不幸的是,Parse User 表具有唯一的默认用户字段,并且要求每个帐户只有一个用户。我不管他们如何登录(通过 Facebook、Twitter、电子邮件等),只能有一个 username passwordof email 字段等。您可以在他们的Ask Parse Anything 中观看他们谈论它以及为什么会这样。

我知道这对于在用户想要登录的平台上为用户提供什么选项的开发人员来说并不理想。如果您同时添加这两个用户,则在您的情况下,用户必须记住他们的帐户是通过 Facebook 还是 Twitter 设置的。

但是,如果您想将 Facebook 和 Twitter 方面保留/链接到您的项目,您可以从 Facebook 和 Twitter 中提取用户电子邮件(假设他们的 Facebook 和 Twitter 帐户使用相同的电子邮件)并执行通过他们的电子邮件地址进行身份验证。

希望对您有所帮助。干杯!

【讨论】:

【参考方案4】:

我不认为这是可以做到的。由于parse.com 不允许在同一用户上进行多个链接。此外,由于 Twitter 和 Facebook 上用于链接帐户的安全性,我非常怀疑是否有可能采用解决方法。因此,我想说的是,在 Parse 中没有办法让相同的用户链接同时指向 Twitter 和 Facebook。

因此,您要么必须让用户登录多次才能找到朋友(这可能不是世界末日,但远非理想),要么只选择一项服务。我个人只会使用 Facebook,因为它不是追随者和追随者,实际上是共同的朋友。这只是我的意见,因为我不知道您的应用程序的性质。

【讨论】:

以上是关于我可以在解析时将一个人与 twitter 和 facebook 联系起来吗?的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能在织物中获得 Twitter 个人资料照片?(Unity3d)

解析转发个人资料图片

twitter 获取用户个人资料数据

Swift UI VStack 对齐。按下时使文本字段与键盘一起出现

通过Twit w / Node.js发布Twitter线程

如何优化在社交网站上显示 Facebook 和 Twitter 个人资料图片?