diff options
author | rinpatch <rinpatch@sdf.org> | 2019-09-12 22:40:53 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-09-12 23:03:52 +0300 |
commit | b0e60580215e26caae6452099fa1fbace525937c (patch) | |
tree | 47125a9e445b0720d79e31a0e98dd963e76c5323 /lib | |
parent | dabc4a00f5cf08dac75f701457a24fce8735175f (diff) | |
download | pleroma-b0e60580215e26caae6452099fa1fbace525937c.tar.gz |
Parse http signature for request to objects/activities
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/plugs/http_signature.ex | 3 | ||||
-rw-r--r-- | lib/pleroma/web/router.ex | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/pleroma/plugs/http_signature.ex b/lib/pleroma/plugs/http_signature.ex index d87fa52fa..23d22a712 100644 --- a/lib/pleroma/plugs/http_signature.ex +++ b/lib/pleroma/plugs/http_signature.ex @@ -15,7 +15,8 @@ defmodule Pleroma.Web.Plugs.HTTPSignaturePlug do end def call(conn, _opts) do - [signature | _] = get_req_header(conn, "signature") + headers = get_req_header(conn, "signature") + signature = Enum.at(headers, 0) if signature do # set (request-target) header to the appropriate value diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 7cd59acb2..badc7e048 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -135,6 +135,7 @@ defmodule Pleroma.Web.Router do pipeline :http_signature do plug(Pleroma.Web.Plugs.HTTPSignaturePlug) + plug(Pleroma.Web.Plugs.MappedSignatureToIdentityPlug) end scope "/api/pleroma", Pleroma.Web.TwitterAPI do @@ -513,6 +514,7 @@ defmodule Pleroma.Web.Router do scope "/", Pleroma.Web do pipe_through(:ostatus) + pipe_through(:http_signature) get("/objects/:uuid", OStatus.OStatusController, :object) get("/activities/:uuid", OStatus.OStatusController, :activity) |