2012-11-06 21 views
5

başarıyla Git OmniAuth: OverviewDevise Omniauth + (Facebook, Twitter, Google) kullanarak çoklu kimlik doğrulama nasıl gerçekleştirilir?

aşağıdaki öğretici kullanarak benim Raylar uygulamada Devise Omniauth kimlik uygulamış Ama hepiniz biliyoruz ve daha önce aynı sorunu karşılaştı olabilir çok yetkilendirmeyi desteklemez, ancak Eğer insanlar aynı sorunu başarılı bir şekilde değiştirdiyse lütfen çözümü bana bildirin.

Bu, Omniauth + Devise kullanarak gerçekleştirmem gereken senaryodur.

John adında bir kullanıcımız var ve o da hem Google & Facebook adresinde hem de "[email protected]" ile aynı e-posta adresine sahip hesaplara sahip.

Bu yüzden John ilk defa Google hesabına giriş yapmayı denediğinde, john bu sefer başarıyla giriş yapmış.

ama facebook hesabına giriş yapmaya çalışan ikinci kez john, bu sefer facebook hesabına giriş yapmasına izin vermeden, uygulama bizim john'u registration_url'e yönlendiriyor.

Neden bu hapepnig olduğunu biliyorum, çünkü e-postanın benzersizliğini dahili olarak doğrulayacaktır. Ancak, çok sayıda kimlik doğrulaması elde edebilmemiz için bu sorunu düzeltmenin herhangi bir yolu olduğunu bilmek beni çok merak ediyor. Yığın Taşması aynı şeyi çok güzel yaptı.

Lütfen çözümü bulmama yardım edin.

+0

deneyin .. teşekkürler http: //stackoverflow.com/questions/21249749/rails-4-devise-omniauth-with-multiple-providers – charlysisto

cevap

4

sizin devise.rb dosyada yorumunu bu hat bu, deneyin veya e-postayı değiştirmek ve bunun için farkı kullanmak ve daha sonra bu başarıyla burada yanıtlandı

# 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 ] 
+0

Bu, çoklu kimlik doğrulama işlemini gerçekleştirmenin tek yoludur. – Sreehari

+0

tek bir yol var ama bunun için kod yazmanız gerekiyor –

İlgili konular