More Information
  • Understand Devise as a flexible and customizable authentication solution for Rails
  • Customize sign-in, sign-up, password reset, email confirmation, account cancellation, and user account edit pages
  • Hide and show views based on defined user authorization rules using CanCan view helpers
  • Configure OmniAuth to make user sign-ins and sign-ups via social network accounts work on your Rails application
  • Use CanCan abilities to implement simple and SQL-based user privileges to restrict user access
  • Test authentications to ensure code stability

There are numerous ways of implementing user sign-ins on your Rails web applications. Of those different ways, using Devise is one of the most popular, quick and flexible way to get user sign-ins working. It is extensible and plays well with other gems such as CanCan (for user privileges) and OmniAuth (for Facebook and Twitter sign-ins).

A hands-on, all-in-one guide that gives you step-by-step instructions along with code examples to implement authentication systems in your application. This book will help you to implement various schemes of authentication systems including authorization and remote authentication, using Devise.

Helping you make your Rails applications more accessible and user-friendly; this book explains how to implement user sign-ins in Rails. It will also show you how to customize user authentication pages, such as sign-in, sign-up, forgot password, and account details, by making use of existing Devise views. In addition, you will learn about facilitating complex privilege rules using the CanCan gem. Finally, you will discover how to make sure your authentication codes work as expected by using integration tests.

You will learn all you need to know to create user email and social network sign-ins quickly, to customize user sign-in-related views, and implement complex privileges, as well as to ensure the stability of your authentication codes by testing them.

  • Use Devise to implement an e-mail-based sign-in process in a few minutes
  • Override Devise controllers to allow username-based sign-ins, and customize default Devise HTML views to change the look and feel of the authentication system
  • Test your authentication codes to ensure stability
Page Count 104
Course Length 3 hours 7 minutes
ISBN 9781782167044
Date Of Publication 24 Oct 2013


Giovanni Sakti

Giovanni Sakti has been a developer for 10 years with an emphasis on developing web applications in Java and Ruby. His latest projects and research are focused on API-based web applications with AngularJS as the client-side framework. He is an active member of the Indonesian Ruby (id-ruby) community and sometimes gives talks about Ruby-related topics there. He writes regularly on his blog —— primarily about Ruby, Rails, AngularJS, and other programming topics. Giovanni is the founder of PT. Starqle Indonesia, a Jakarta-based company providing products, IT consulting, and development services with a focus on the healthcare industry.

Hafiz Badrie Lubis

Hafiz majored in Informatics Engineering at Bandung Institute of Technology, Bandung. He graduated in 2008. In his study period, he spent most of his time researching user interaction. It was a bit contradictive because he worked mainly in backend programming after he graduated. Most of his research was about ActionScript, PHP, and Javascript. About 2 years later, he came across Ruby on Rails, which sparked a lot more interest in web development. His interest was magnified after he took on the role of Chief Technology Officer in a startup (Wiradipa Nusantara) he built with his friends. Since then, most of his time was contributed to research on Ruby, Ruby on Rails, and web performance. He blogs extensively about Ruby and Ruby on Rails at He has written a lot about best practices for using Ruby on Rails and also about web performance. Currently, he is a Lead Developer in The Jakarta Post Digital while maintaining his startup as a CTO in Wiradipa Nusantara. In recent days, he is paying more attention to the development of web performance from the server side with Ruby, the client side with JavaScript, and any other related strategy. He is a member of id-ruby (, an Indonesian community that talks about Ruby and is also a member of Card to Post (, an Indonesian community that mainly talks about postcards.

Nia Mutiara

Nia Mutiara is a software engineer working on a virtual stock gaming iOS application, as well as its server-side web application. For two years, she worked on complex Ruby on Rails and iOS applications. She is a master of JavaScript and CSS, and has used those skills to enhance most web applications that she has worked on. In her spare time, she hangs around Twitter, writes Ruby tutorials in Indonesian, and watches comedy.