summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2023-12-11 09:31:18 +0000
committerlain <lain@soykaf.club>2023-12-11 09:31:18 +0000
commit41c02b3d1623e8f37d2165a539335c67e413d134 (patch)
tree91d551680a4f9651ace69295d51c9e5a91295bbc /lib
parent8d4a47bf9ede9bf5ce4d5165b82f76be51217da6 (diff)
parentc62696c8e7a28390880a68392bbd14929b66a56d (diff)
downloadpleroma-41c02b3d1623e8f37d2165a539335c67e413d134.tar.gz
pleroma-41c02b3d1623e8f37d2165a539335c67e413d134.zip
Merge branch 'authorize-interaction' into 'develop'
Support /authorize-interaction route used by Mastodon See merge request pleroma/pleroma!3957
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/router.ex2
-rw-r--r--lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex7
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index eb8576b02..38391cc8f 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -471,6 +471,8 @@ defmodule Pleroma.Web.Router do
get("/main/ostatus", UtilController, :show_subscribe_form)
get("/ostatus_subscribe", RemoteFollowController, :follow)
post("/ostatus_subscribe", RemoteFollowController, :do_follow)
+
+ get("/authorize_interaction", RemoteFollowController, :authorize_interaction)
end
scope "/api/pleroma", Pleroma.Web.TwitterAPI do
diff --git a/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex b/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex
index 6229d5d05..178ad2b43 100644
--- a/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex
+++ b/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex
@@ -121,6 +121,13 @@ defmodule Pleroma.Web.TwitterAPI.RemoteFollowController do
render(conn, "followed.html", %{error: "Insufficient permissions: follow | write:follows."})
end
+ # GET /authorize_interaction
+ #
+ def authorize_interaction(conn, %{"uri" => uri}) do
+ conn
+ |> redirect(to: Routes.remote_follow_path(conn, :follow, %{acct: uri}))
+ end
+
defp handle_follow_error(conn, {:mfa_token, followee, _} = _) do
render(conn, "follow_login.html", %{error: "Wrong username or password", followee: followee})
end