【发布时间】:2012-05-23 18:41:45
【问题描述】:
我已经使用 Devise 和 OAuth 将社交登录(Facebook、Twitter 等)与 Rails 应用程序集成。请求和回调都运行良好,用户能够有效地验证应用程序并登录。
我的问题是这样的:
使用 Devise,我的网站将用户的电子邮件地址作为用户名。因此,每当用户第一次通过社交网站登录时,都会为他们的帐户存储“连接”记录,以显示他们登录过哪些社交网站。如果他们在我的站点上还没有帐户,则使用回调数组中的电子邮件地址创建一个帐户。然后将连接与返回的令牌和机密一起存储以供以后使用(FB 帖子、推文等)。
很遗憾,Twitter 没有提供电子邮件地址。为了避免这种情况,我要求首次使用 Twitter 登录的用户只需提供一个电子邮件地址,以便创建一个帐户。但是,如果他们已经在我的网站上拥有帐户,我不知道该怎么办。我无法检查他们是否已经这样做了,因为我没有得到匹配的电子邮件地址。这最终可能导致用户拥有多个帐户。
所以,我有点不知所措,如果有人有任何建议,那将非常有帮助。 谢谢! :)
【问题讨论】:
标签: devise oauth-2.0 twitter-oauth ruby-on-rails-3.2