Quellcode durchsuchen

ActivityPub controller: do not render remote users

feature/user-whitelist
rinpatch vor 4 Jahren
Ursprung
Commit
02f7383891
2 geänderte Dateien mit 15 neuen und 1 gelöschten Zeilen
  1. +2
    -1
      lib/pleroma/web/activity_pub/activity_pub_controller.ex
  2. +13
    -0
      test/web/activity_pub/activity_pub_controller_test.exs

+ 2
- 1
lib/pleroma/web/activity_pub/activity_pub_controller.ex Datei anzeigen

@@ -45,7 +45,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
end

def user(conn, %{"nickname" => nickname}) do
with %User{} = user <- User.get_cached_by_nickname(nickname),
with %User{local: true} = user <- User.get_cached_by_nickname(nickname),
{:ok, user} <- User.ensure_keys_present(user) do
conn
|> put_resp_content_type("application/activity+json")
@@ -53,6 +53,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|> render("user.json", %{user: user})
else
nil -> {:error, :not_found}
%{local: false} -> {:error, :not_found}
end
end



+ 13
- 0
test/web/activity_pub/activity_pub_controller_test.exs Datei anzeigen

@@ -110,6 +110,19 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do

assert json_response(conn, 200) == UserView.render("user.json", %{user: user})
end

test "it returns 404 for remote users", %{
conn: conn
} do
user = insert(:user, local: false, nickname: "remoteuser@example.com")

conn =
conn
|> put_req_header("accept", "application/json")
|> get("/users/#{user.nickname}.json")

assert json_response(conn, 404)
end
end

describe "/object/:uuid" do


Laden…
Abbrechen
Speichern