Originally published at: http://www.sitepoint.com/devise-authentication-in-depth/
This is the second article in the “Authentication with Rails” series. We are going to discuss Devise, a popular, full-fledged authentication solution by Platformatec.
In comparison to Sorcery (which I looked at last time), Devise is a more high-level solution that takes care of many different aspects for you. It presents controllers, views, mailers, and routes. While it’s simple to issue a couple of commands an have Devise up and running, it is highly customizable. Devise has very thorough documentation and a large community that produces a boatload of useful extensions. No wonder Devise is so popular.
Devise comes with a handful of modules, allowing you to choose only the required ones. There is a module to support password recovery, e-mail confirmation, account lock out, and many others.
In this article I’ll go over:
- Integrating Devise into the demo app
- Setting up Devise and enabling specific modules
- Customizing Devise
- Restricting access to certain pages
- Setting up asynchronouse e-mail delivery
- Integrating a Devise extension to estimate password strength
- Adding password strength estimation to client-side