Files
sso-bsn/lib/sso_bsn_web/controllers/user_session_controller.ex
bluepython508 092930a24f WebAuthN auth
2023-11-05 01:12:02 +00:00

27 lines
705 B
Elixir

defmodule SsoBsnWeb.UserSessionController do
use SsoBsnWeb, :controller
alias SsoBsn.Accounts
alias SsoBsnWeb.UserAuth
def login(conn, %{"token" => login_token}) do
case Accounts.consume_login_token(login_token) do
{:ok, user} ->
conn
|> UserAuth.log_in_user(user) # TODO: pass through remember-me value?
|> redirect(to: ~p"/users/settings")
{:error, error} ->
dbg(error)
conn
|> put_flash(:error, "Invalid login token: #{inspect(error)}")
|> redirect(to: ~p"/users/log_in")
end
end
def delete(conn, _params) do
conn
|> put_flash(:info, "Logged out successfully.")
|> UserAuth.log_out_user()
end
end