【问题标题】:How to accomplish multiple authentication using Devise Omniauth + (Facebook , Twitter, Google )?如何使用 Devise Omniauth + (Facebook、Twitter、Google) 完成多重身份验证?
【发布时间】:2012-11-06 08:04:19
【问题描述】:

我已经使用以下 git 教程在我的 Rails 应用程序中成功实现了 Devise Omniauth 身份验证 OmniAuth: Overview

但它不支持多重身份验证,可能大家都知道,并且以前也遇到过同样的问题,但是如果你们成功地调整了同样的问题,请告诉我解决方案。

这是我需要使用 Omniauth + Devise 完成的场景。

我们有一个名叫 John 的用户,他已经在 Google 和 Facebook 上拥有相同的电子邮件 ID“John@yopmail.com”的帐户。

因此,John 第一次尝试使用他的 Google 帐户登录,这次 john 已成功登录。

但是 john 第二次尝试使用他的 facebook 帐户登录,这一次我们的应用程序将 john 重定向到设计的 registration_url ,而没有让他使用他的 facebook 帐户登录。

我知道为什么这是hapepnig,因为设计将在内部验证电子邮件的唯一性。但我很想知道,有没有办法调整这个问题,以便我们可以实现多重身份验证。 Stack-Overflow 也做得非常好。

请帮我找出解决办法。

谢谢你..

【问题讨论】:

标签: ruby-on-rails devise omniauth


【解决方案1】:

试试这个,在你的 devise.rb 文件 comment 这一行或更改电子邮件并为此使用差异,然后尝试

  # to authenticate or find a user. Default is :email.
  config.case_insensitive_keys = [ :email ]
  # modifying a user and when used to authenticate or find a user. Default is :email.
  config.strip_whitespace_keys = [ :email ]

【讨论】:

  • 这是完成多重身份验证的唯一方法吗?
  • 还有一种方法,但您必须为此编写代码并编写条件
猜你喜欢
  • 2016-02-26
  • 2012-07-20
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多