Current section

Files

Jump to
hub_identity_elixir lib phoenix controllers session_controller.ex
Raw

lib/phoenix/controllers/session_controller.ex

defmodule HubIdentityElixir.Phoenix.SessionController do
@moduledoc false
use Phoenix.Controller, namespace: HubIdentityElixir
alias HubIdentityElixir.{Authentication, HubIdentity}
def new(conn, _params) do
redirect(
conn,
external: "#{HubIdentity.hub_identity_url()}/browser/v1/providers?api_key=#{public_key()}"
)
end
def create(conn, %{"user_token" => user_token}) do
with current_user when is_map(current_user) <- HubIdentity.get_current_user(user_token) do
Authentication.login_user(conn, current_user)
end
end
def create(conn, _params) do
Authentication.logout_user(conn)
end
def destroy(conn, _params) do
conn
|> Authentication.logout_user()
end
defp public_key do
Application.get_env(:hub_identity_elixir, :public_key)
end
end