Merge branch 'feature/1728-webfinger-acct-scheme' into 'develop'

Webfinger: Request account info with the acct scheme

Closes #1728

See merge request pleroma/pleroma!2465
This commit is contained in:
lain 2020-05-06 08:46:45 +00:00
commit f84c8f2f0d
3 changed files with 12 additions and 9 deletions

View file

@ -38,6 +38,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- **Breaking**: SimplePolicy `:reject` and `:accept` allow deletions again - **Breaking**: SimplePolicy `:reject` and `:accept` allow deletions again
- Fix follower/blocks import when nicknames starts with @ - Fix follower/blocks import when nicknames starts with @
- Filtering of push notifications on activities from blocked domains - Filtering of push notifications on activities from blocked domains
- Resolving Peertube accounts with Webfinger
## [unreleased-patch] ## [unreleased-patch]
### Security ### Security

View file

@ -161,13 +161,15 @@ defmodule Pleroma.Web.WebFinger do
URI.parse(account).host URI.parse(account).host
end end
encoded_account = URI.encode("acct:#{account}")
address = address =
case find_lrdd_template(domain) do case find_lrdd_template(domain) do
{:ok, template} -> {:ok, template} ->
String.replace(template, "{uri}", URI.encode(account)) String.replace(template, "{uri}", encoded_account)
_ -> _ ->
"https://#{domain}/.well-known/webfinger?resource=acct:#{account}" "https://#{domain}/.well-known/webfinger?resource=#{encoded_account}"
end end
with response <- with response <-

View file

@ -211,7 +211,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"https://squeet.me/xrd/?uri=lain@squeet.me", "https://squeet.me/xrd/?uri=acct:lain@squeet.me",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]
@ -870,7 +870,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"https://social.heldscal.la/.well-known/webfinger?resource=shp@social.heldscal.la", "https://social.heldscal.la/.well-known/webfinger?resource=acct:shp@social.heldscal.la",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]
@ -883,7 +883,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"https://social.heldscal.la/.well-known/webfinger?resource=invalid_content@social.heldscal.la", "https://social.heldscal.la/.well-known/webfinger?resource=acct:invalid_content@social.heldscal.la",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]
@ -900,7 +900,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"http://framatube.org/main/xrd?uri=framasoft@framatube.org", "http://framatube.org/main/xrd?uri=acct:framasoft@framatube.org",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]
@ -959,7 +959,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"https://gerzilla.de/xrd/?uri=kaniini@gerzilla.de", "https://gerzilla.de/xrd/?uri=acct:kaniini@gerzilla.de",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]
@ -1155,7 +1155,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"https://zetsubou.xn--q9jyb4c/.well-known/webfinger?resource=lain@zetsubou.xn--q9jyb4c", "https://zetsubou.xn--q9jyb4c/.well-known/webfinger?resource=acct:lain@zetsubou.xn--q9jyb4c",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]
@ -1168,7 +1168,7 @@ defmodule HttpRequestMock do
end end
def get( def get(
"https://zetsubou.xn--q9jyb4c/.well-known/webfinger?resource=https://zetsubou.xn--q9jyb4c/users/lain", "https://zetsubou.xn--q9jyb4c/.well-known/webfinger?resource=acct:https://zetsubou.xn--q9jyb4c/users/lain",
_, _,
_, _,
[{"accept", "application/xrd+xml,application/jrd+json"}] [{"accept", "application/xrd+xml,application/jrd+json"}]