Packages
guard
0.12.1
0.19.1
0.19.0
0.18.0
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.9
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
0.13.0
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.3
0.11.2
0.11.1
0.11.0
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.8.0
0.7.1
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
0.3.0
0.2.0
0.1.0
Useful package for dealing with user authentication and signup
Current section
Files
Jump to
Current section
Files
lib/guard/error_handler.ex
defmodule Guard.ErrorHandler do
import Plug.Conn
import Guard.Controller, only: [json: 2]
alias Guard.Controller
# Guardian's ensure_authenticated sends :unauthenticated for 403, but Plug.Status
# expects :forbidden
def auth_error(conn, {:unauthenticated, reason}, _opts) do
conn
|> put_status(:forbidden)
|> json(%{error: :forbidden, reason: Controller.translate_error(reason)})
end
def auth_error(conn, {:invalid_token, reason}, _opts) do
conn
|> put_status(:unauthorized)
|> json(%{error: :invalid_token, reason: Controller.translate_error(reason)})
end
def auth_error(conn, {type, reason}, _opts) do
conn
|> put_status(type)
|> json(%{error: type, reason: Controller.translate_error(reason)})
end
end