5

git OmniAuthによる次のチュートリアルを使用して、Rails アプリケーションに Devise Omniauth 認証を正常に実装しました 。

しかし、それは複数の認証をサポートしません。皆さんもご存知かもしれませんが、以前に同じ問題に直面したことがあるかもしれませんが、同じ問題をうまく調整したことがある場合は、解決策を教えてください。

これは、Omniauth + Devise を使用して達成する必要があるシナリオです。

John という名前のユーザーがいて、彼は既に Google と Facebook の両方に同じメール ID "John@yopmail.com" のアカウントを持っています。

ジョンは初めて自分の Google アカウントでログインしようとしましたが、今度は正常にログインしました。

しかし、ジョンが 2 度目に Facebook アカウントでログインしようとすると、今度はアプリケーションが john をデバイス registration_url にリダイレクトし、Facebook アカウントでサインインさせません。

devise は電子メールの一意性を内部的に検証するため、これがなぜ起こっているのかはわかっています。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 に答える