2012-11-06 29 views
5

我已經實現了設計Omniauth認證在我的Rails應用程序已成功使用下面的教程由混帳 OmniAuth: Overview如何使用Devise Omniauth +(Facebook,Twitter,Google)完成多重身份驗證?

但它不會支持多個認證,可能是大家都知道的是,在此之前都面臨着同樣的問題,但如果你已經成功調整了同樣的問題,請讓我知道解決方案。

這是我需要使用Omniauth + Devise完成的場景。

我們有一個名爲John的用戶,他已經在Google的& Facebook中擁有相同的電子郵件ID「[email protected]」的帳戶。

因此約翰第一次嘗試使用他的Google帳戶登錄時,john已經成功登錄了。

但是第二次john試圖用他的facebook賬戶登錄時,這次我們的應用程序將john重定向到了registration_url,而不讓他用他的facebook賬戶登錄。

我知道爲什麼這是hapepnig,因爲設計會在內部驗證電子郵件的唯一性。但我很想知道,是否有任何方法來調整此問題,以便我們可以實現多重身份驗證。 Stack-Overflow做得非常好。

請幫我找出解決方案。

謝謝。

+0

這已經成功地在這裏找到答案:HTTP: //stackoverflow.com/questions/21249749/rails-4-devise-omniauth-with-multiple-providers – charlysisto

回答

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

這是完成多重身份驗證的唯一方法。 – Sreehari

+0

還有一種方法,但你必須爲這個和寫條件編碼 –

相關問題