livebook/lib/livebook_web/controllers/user_controller.ex
2025-03-14 09:35:25 -03:00

27 lines
591 B
Elixir

defmodule LivebookWeb.UserController do
use LivebookWeb, :controller
def logout(conn, _params) do
if get_session(conn, :user_id) do
if Livebook.Config.logout_enabled?() do
do_zta_logout(conn)
else
do_logout(conn)
end
else
redirect(conn, to: ~p"/")
end
end
defp do_logout(conn) do
conn
|> configure_session(renew: true)
|> clear_session()
|> redirect(to: ~p"/")
end
defp do_zta_logout(conn) do
{_type, module, _key} = Livebook.Config.identity_provider()
module.logout(LivebookWeb.ZTA, conn)
end
end