Imagine that you create a cool Rails web application that does different things for different users. To do so, your application needs to be able to identify users (at least users who are logged in versus anonymous visitors) to restrict its many functionalities. Before building your core Rails application logic, you will need a few authentication-related features working, that is, sign-up, sign-…