5

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

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

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

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

所以约翰第一次尝试用他的谷歌账户登录,这次约翰已经成功登录。

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

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

请帮我找出解决方案。

谢谢..

4

1 回答 1

4

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

  # 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 ]
于 2012-11-06T08:10:52.333 回答