As I was rendering the user to error page so what I did is create a render function in View and render template there:
def render("403.html", _assigns) do
render("forbidden.html", %{})
end
and in my authentication pipe:
case claims do
{:ok, claims} ->
conn
|> put_status(200)
_ ->
conn
|> put_status(403)
|> put_view(MyAppWeb.PageView)
|> render("403.html")
|> halt()
end


















