I think
pipe_through [:browser, &MyApp.SessionAuth.authenticate_user/2]
is the same as
pipe_through [:browser, fn conn, opts -> MyApp.SessionAuth.authenticate_user(conn, opts) end]
and pipe_through macro expects a list of atoms to call something like apply/3 on, not functions.
I usually call these plugs App.Web.Session or App.Web.Auth.






















