We'll now see how we can add authentication to the API we've created in this section. We'll be implementing session-based authentication, which probably isn't the most common way of authenticating users in an API—what is most widely seen is token-based authentication. However, we wanted to show how to port what we've already built for HTML requests. Moreover, we'll demonstrate how to authenticate with tokens in Phoenix in the next section, when we add authentication for channel joins. As usual, let's begin by looking at the updated router:
$ cat apps/elixir_drip_web/lib/elixir_drip_web/router.ex defmodule ElixirDripWeb.Router do # ... pipeline :api do plug(:accepts, ["json"]) plug(:fetch_session) plug(FetchUser) ...