Rename id helper method.

This commit is contained in:
lain 2018-05-26 13:52:05 +02:00
parent 1db0dc3072
commit dd9bb37893
4 changed files with 9 additions and 19 deletions

View file

@ -13,7 +13,7 @@ def call(%{assigns: %{valid_signature: true}} = conn, _opts) do
end
def call(conn, _opts) do
user = Utils.normalize_actor(conn.params["actor"])
user = Utils.get_ap_id(conn.params["actor"])
Logger.debug("Checking sig for #{user}")
[signature | _] = get_req_header(conn, "signature")

View file

@ -263,11 +263,7 @@ def handle_incoming(
def handle_incoming(
%{"type" => "Delete", "object" => object_id, "actor" => actor, "id" => _id} = _data
) do
object_id =
case object_id do
%{"id" => id} -> id
id -> id
end
object_id = Utils.get_ap_id(object_id)
with %User{} = _actor <- User.get_or_fetch_by_ap_id(actor),
{:ok, object} <-
@ -365,9 +361,6 @@ def handle_incoming(
end
end
# TODO
# Accept
def handle_incoming(_), do: :error
def get_obj_helper(id) do

View file

@ -7,18 +7,15 @@ defmodule Pleroma.Web.ActivityPub.Utils do
# Some implementations send the actor URI as the actor field, others send the entire actor object,
# so figure out what the actor's URI is based on what we have.
def normalize_actor(actor) do
cond do
is_binary(actor) ->
actor
is_map(actor) ->
actor["id"]
def get_ap_id(object) do
case object do
%{"id" => id} -> id
id -> id
end
end
def normalize_params(params) do
Map.put(params, "actor", normalize_actor(params["actor"]))
Map.put(params, "actor", get_ap_id(params["actor"]))
end
def make_json_ld_header do

View file

@ -32,14 +32,14 @@ def validate(headers, signature, public_key) do
def validate_conn(conn) do
# TODO: How to get the right key and see if it is actually valid for that request.
# For now, fetch the key for the actor.
with actor_id <- Utils.normalize_actor(conn.params["actor"]),
with actor_id <- Utils.get_ap_id(conn.params["actor"]),
{:ok, public_key} <- User.get_public_key_for_ap_id(actor_id) do
if validate_conn(conn, public_key) do
true
else
Logger.debug("Could not validate, re-fetching user and trying one more time")
# Fetch user anew and try one more time
with actor_id <- Utils.normalize_actor(conn.params["actor"]),
with actor_id <- Utils.get_ap_id(conn.params["actor"]),
{:ok, _user} <- ActivityPub.make_user_from_ap_id(actor_id),
{:ok, public_key} <- User.get_public_key_for_ap_id(actor_id) do
validate_conn(conn, public_key)