- @doc "Local Mastodon FE callback action"
- def login(conn, _) do
- with {:ok, app} <- get_or_make_app() do
+ def login(conn, params) do
+ with %{assigns: %{user: %User{}, token: %Token{app_id: app_id}}} <- conn,
+ {:ok, %{id: ^app_id}} <- local_mastofe_app() do
+ redirect(conn, to: local_mastodon_post_login_path(conn))
+ else
+ _ -> redirect_to_oauth_form(conn, params)
+ end
+ end
+
+ defp redirect_to_oauth_form(conn, _params) do
+ with {:ok, app} <- local_mastofe_app() do