diff options
author | rinpatch <rinpatch@sdf.org> | 2019-07-20 22:04:47 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-07-20 22:04:47 +0300 |
commit | 196cad46f35a63c18d58cd5d982bc4e1f9b0d7c3 (patch) | |
tree | 51fa0436998541c3bcc1885eaa2188d7dbb7d469 /lib/pleroma/signature.ex | |
parent | c3ecaea64dd377b586e3b2a5316e90884ec78fe6 (diff) | |
parent | fe548f322e834c7c81678a460c54c71f1198021c (diff) | |
download | pleroma-196cad46f35a63c18d58cd5d982bc4e1f9b0d7c3.tar.gz |
Resolve merge conflicts
Diffstat (limited to 'lib/pleroma/signature.ex')
-rw-r--r-- | lib/pleroma/signature.ex | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/pleroma/signature.ex b/lib/pleroma/signature.ex index 1a4d54c62..2a0823ecf 100644 --- a/lib/pleroma/signature.ex +++ b/lib/pleroma/signature.ex @@ -8,10 +8,16 @@ defmodule Pleroma.Signature do alias Pleroma.Keys alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Web.ActivityPub.Utils + + def key_id_to_actor_id(key_id) do + URI.parse(key_id) + |> Map.put(:fragment, nil) + |> URI.to_string() + end def fetch_public_key(conn) do - with actor_id <- Utils.get_ap_id(conn.params["actor"]), + with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn), + actor_id <- key_id_to_actor_id(kid), {:ok, public_key} <- User.get_public_key_for_ap_id(actor_id) do {:ok, public_key} else @@ -21,7 +27,8 @@ defmodule Pleroma.Signature do end def refetch_public_key(conn) do - with actor_id <- Utils.get_ap_id(conn.params["actor"]), + with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn), + actor_id <- key_id_to_actor_id(kid), {:ok, _user} <- ActivityPub.make_user_from_ap_id(actor_id), {:ok, public_key} <- User.get_public_key_for_ap_id(actor_id) do {:ok, public_key} |