Add support for Mastodon /authorize_interaction route

- It is used by Fedifind to follow people who set their Webfinger address in their Twitter bio
This commit is contained in:
Hypolite Petovan 2022-11-19 19:55:01 -05:00
parent 5a2a8db21f
commit 5f074bc4e7
2 changed files with 7 additions and 1 deletions

View file

@ -88,7 +88,9 @@ class Follow extends BaseModule
} }
$uid = $this->session->getLocalUserId(); $uid = $this->session->getLocalUserId();
$url = Probe::cleanURI(trim($request['url'] ?? ''));
// uri is used by the /authorize_interaction Mastodon route
$url = Probe::cleanURI(trim($request['uri'] ?? $request['url'] ?? ''));
// Issue 6874: Allow remote following from Peertube // Issue 6874: Allow remote following from Peertube
if (strpos($url, 'acct:') === 0) { if (strpos($url, 'acct:') === 0) {

View file

@ -342,6 +342,10 @@ return [
'/acctlink' => [Module\Acctlink::class, [R::GET]], '/acctlink' => [Module\Acctlink::class, [R::GET]],
'/apps' => [Module\Apps::class, [R::GET]], '/apps' => [Module\Apps::class, [R::GET]],
'/attach/{item:\d+}' => [Module\Attach::class, [R::GET]], '/attach/{item:\d+}' => [Module\Attach::class, [R::GET]],
// Mastodon route used by Fedifind to follow people who set their Webfinger address in their Twitter bio
'/authorize_interaction' => [Module\Contact\Follow::class, [R::GET, R::POST]],
'/babel' => [Module\Debug\Babel::class, [R::GET, R::POST]], '/babel' => [Module\Debug\Babel::class, [R::GET, R::POST]],
'/debug/ap' => [Module\Debug\ActivityPubConversion::class, [R::GET, R::POST]], '/debug/ap' => [Module\Debug\ActivityPubConversion::class, [R::GET, R::POST]],