2014-04-06 143 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调用。不幸的是,我还没有找到有效的解决方案呢......