如何使用Devise Omniauth +(Facebook,Twitter,Google)完成多重身份验证?

Sre*_*K M 5 ruby-on-rails devise omniauth

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

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

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

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

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

但是约翰第二次尝试使用他的Facebook帐户登录,这次我们的应用程序将john重定向到设计registration_url,而不让他用他的facebook帐户登录.

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

请帮我找出解决方案.

谢谢..

Dip*_*hal 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 ]
Run Code Online (Sandbox Code Playgroud)