# `Arc.Authentication.FromAssigns`
[🔗](https://github.com/Cratis/Arc.Elixir/blob/main/lib/arc/authentication.ex#L37)

Reads the principal from `conn.assigns[:arc_principal]` (an `Arc.Principal`), or builds one from
the signed-in user your own authentication assigned: `conn.assigns.current_scope.user` (the
`phx.gen.auth` shape) or `conn.assigns.current_user`, a map with `:id` and optionally `:name`,
`:email` and `:roles`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
