Jim*_*dra 27 ruby-on-rails omniauth
我有几个Rails应用程序,我正在寻求与OmniAuth集成,但我有一个概念性的问题,我想先找出来.请考虑以下情形:
由于Twitter不向Foo提供电子邮件地址,因此没有通用标识符可用于检测两个Joes是同一个Joe.您可以决定仅支持向您提供用户电子邮件地址的提供商,但如果用户在不同提供商处注册了不同的电子邮件地址,则无效.
我能想到的唯一其他解决方案是为用户提供一些合并两个现有帐户的方法.与使用OmniAuth时其他一切相对容易相比,这是一个令人头疼的问题.如果这是唯一的解决方案,是否有人遇到指导/教程,展示如何做到这一点的示例?鉴于OmniAuth的受欢迎程度,我对这个问题没有得到更多关注感到惊讶.
谢谢!
小智 7
你的直觉是正确的.您必须为您的用户提供合并工具......或者您可以忽略该问题.
小智 6
我知道这是一个老问题,但我想我会回答最近在项目中所做的事情,仅供参考.
完全披露:我没有想出这个,我从网上的其他人那里偷了它.在Omniauth维基上有一篇很好的文章.
我从来没有找到一种很好的方式来自动链接Facebook/Twitter/etc帐户,而是创建它,以便用户可以在他们使用第一个帐户登录后链接多个帐户.
这是场景:
该模型不是将提供者和uid存储在用户模型上,而是用户可以具有许多社交网络身份.
再次,抱歉让死者复活,但Abe Petrillo对回答接受的回答的评论使我认为另一种观点可能有用.