Files
malarkey/lib/malarkey_web/controllers/auth_controller.ex
2025-10-31 21:25:59 +00:00

28 lines
755 B
Elixir

defmodule MalarkeyWeb.AuthController do
use MalarkeyWeb, :controller
plug Ueberauth
alias Malarkey.Accounts
alias MalarkeyWeb.UserAuth
def callback(%{assigns: %{ueberauth_auth: auth}} = conn, _params) do
case Accounts.get_or_create_oauth_user(auth.provider, auth) do
{:ok, user} ->
conn
|> put_flash(:info, "Successfully authenticated.")
|> UserAuth.log_in_user(user)
{:error, _reason} ->
conn
|> put_flash(:error, "Failed to authenticate.")
|> redirect(to: ~p"/users/log_in")
end
end
def callback(%{assigns: %{ueberauth_failure: _fails}} = conn, _params) do
conn
|> put_flash(:error, "Failed to authenticate.")
|> redirect(to: ~p"/users/log_in")
end
end