2014-04-06 141 views
0

我是Ruby on Rails的新手。 我想知道哪些登錄機會可用。 簡單的是: - 電子郵件和密碼(明文)Ruby on Rails登錄機會

我知道這不是最好的想法,但我甚至知道這一點。

你能告訴我我可以選擇/做什麼嗎? (編碼/加密 - Authification等)

回答

0

Authlogic也是一個很好的調查寶石。當我第一次開始使用Rails時,我比Devise更容易理解,並且回想起來,我認爲這有助於我理解Rails的整體工作方式。

+0

是的.. Authlogic看起來像最簡單的方法,但是我已經準備好了有一個問題: 有一個UserSession類,但我應該寫什麼? - 沒有,如果我不想要TimeOut等任何可選功能? – Ismoh

+0

正確,爲模型。你仍然需要編寫一個UserSessionController。它看起來像你已經看到[this](https://github.com/binarylogic/authlogic)...它具有關於如何在自述文件末尾執行控制器的詳細信息。 – Saul

0

我會強烈建議你去Devise的寶石,它是一個靈活的身份認證解決方案基於Rails的監獄長。

參照Devise Documentation

下一個選項可以去omniauth。 Omniauth將允許你整合社交網站,如Facebook,TwitterGooglePlus等認證。這是目前流行的機制之一,因爲用戶不喜歡在每個網站上創建帳戶。

參考Omniauth Documentation

提供社交帳戶,或在您的網站一個新的帳戶之間的用戶選擇是最好的辦法。您可以結合使用devise + omniauth

+0

Facebook,Twitter和Google+聽起來不錯,但我能做到這一點嗎?我對Ruby on Rails非常新穎。設計看起來非常困難,Omniauth看起來更容易。我想我會嘗試Omniauth。 感謝您的詳細解答。 – Ismoh

+0

很高興爲您提供幫助。 :)只要按照文檔,你就可以做到這一點。 –

+0

我會試試看:P – Ismoh

0

我也建議使用OmniAuth。網上有很多文件,而且安裝起來很簡單。但要小心,不要在我去的同一個錯誤中運行:JavaScript中的同源策略。

當您致電/ auth/provider時,您將收到來自身份驗證提供程序的鏈接,您必須調用該鏈接以獲取更多身份驗證參數。比方說,你的應用程序運行作爲http://example.com和Twitter會給你這樣的事情: https://api.twitter.com/oauth/authenticate?oauth_token=BtCEsdgasd ....

爲了防止XSS瀏覽器攔截此Ajax調用。不幸的是,我還沒有找到有效的解決方案呢......