This commit is contained in:
2023-02-18 10:50:52 +00:00
parent 931e22d0f7
commit ff8a0e6260
4 changed files with 38 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
defmodule PhoenixApiTemplateWeb.UserController do
use PhoenixApiTemplateWeb, :controller
alias PhoenixApiTemplateWeb.Auth.ErrorResponse.Unauthorized
alias PhoenixApiTemplateWeb.Auth.Guardian
alias PhoenixApiTemplate.Accounts
alias PhoenixApiTemplate.Accounts.User
@@ -24,6 +25,18 @@ defmodule PhoenixApiTemplateWeb.UserController do
end
end
def sign_in(conn, %{"email" => email, "password" => password}) do
case Guardian.authenticate(email, password) do
{:ok, user, token} ->
conn
|> put_status(:ok)
|> render("user_token.json", %{user: user, token: token})
{:error, :unauthorized} ->
raise Unauthorized, message: "Invalid credentials"
end
end
def show(conn, %{"id" => id}) do
user = Accounts.get_user!(id)
render(conn, "show.json", user: user)