我已經使用Devise作爲其他項目的標準認證寶石。在另一個項目中,我使用了Devise + Omniauth進行Twitter身份驗證。可以設計+ Omniauth有幾種類型的登錄?
在一個新項目中,我需要我的最終用戶能夠通過Twitter和Facebook登錄或能夠通過應用程序註冊。將來,用戶可以將他的賬戶連接在一起。例如,他的Twitter和Facebook帳戶。或者,他的Twitter和「本地」帳戶。 「原生」是他直接通過網絡應用程序註冊的帳戶。
是否能夠這樣?如果是這樣,我們如何將用戶的賬戶連接在一起?這背後的概念是什麼?應用程序如何知道哪個Facebook和Twitter帳戶屬於哪個用戶?
想法和建議歡迎。
編輯:
我一直在下面http://railscasts.com/episodes/236-omniauth-part-2?autoplay=true什麼我不明白是。如果
- 用戶退出應用程序,
- 用戶與應用程序註冊了一個賬號,
- 用戶登錄與不同的服務提供商(Facebook,微博, 等)。
應用程序如何知道如何將他的新服務提供商與他已有的帳戶關聯?
Stackoverflow.com有此功能。但是他們未包含在他們的「多重簽名」功能中的一家服務提供商是Twitter。我猜這是因爲Twitter不會通過他們的API暴露用戶的電子郵件。而其他服務提供商(Facebook,雅虎,Gmail)也有。
好的解釋。這是Stack Overflow不啓用Twitter身份驗證的主要原因嗎? –
這可能是原因。你應該直接問管理員,這背後也可能有一個政治原因。 –
由於他們使用OAuth 1.0,Stackoverflow不支持Twitter,我在博客上讀到,集成到他們當前的系統是一件痛苦的事情。有一個用戶登錄,然後添加另一個帳戶與他們的用戶名似乎是最好的技術。這就是這麼做的。 http://meta.stackexchange.com/questions/74551/enable-authentication-via-twitter-oauth – Ash