We have something that is starting to look like an application. Our database-backed repository is wired to our controller using changesets and forms. Let’s ramp up the sophistication with real login forms, sessions, and password hashing. Rather than use something off the shelf, we can build it ourselves. Along the way you’ll learn more about Ecto changesets and plugs, and we’ll introduce session handling.
As you’ve seen, Phoenix makes it easy to add functionality to your application from bottom to top. Authentication forms the foundation for your whole application’s security system, though, so we’re going to be sure each decision is right.