WebAuthN auth
This commit is contained in:
26
lib/sso_bsn_web/controllers/user_session_controller.ex
Normal file
26
lib/sso_bsn_web/controllers/user_session_controller.ex
Normal file
@@ -0,0 +1,26 @@
|
||||
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
|
||||
Reference in New Issue
Block a user