activitypub transmogrifier: rewrite incoming hashtags
[akkoma] / lib / pleroma / plugs / http_signature.ex
index 17030cdbfcd594339bb87da602eb34ee30601262..af160f3ee4fe3ec979795e32f12eb14c830bfa3f 100644 (file)
@@ -1,18 +1,31 @@
 defmodule Pleroma.Web.Plugs.HTTPSignaturePlug do
   alias Pleroma.Web.HTTPSignatures
   import Plug.Conn
+  require Logger
 
   def init(options) do
     options
   end
 
+  def call(%{assigns: %{valid_signature: true}} = conn, opts) do
+    conn
+  end
+
   def call(conn, opts) do
+    user = conn.params["actor"]
+    Logger.debug("Checking sig for #{user}")
+
     if get_req_header(conn, "signature") do
-      conn = conn
-      |> put_req_header("(request-target)", String.downcase("#{conn.method} #{conn.request_path}"))
+      conn =
+        conn
+        |> put_req_header(
+          "(request-target)",
+          String.downcase("#{conn.method}") <> " #{conn.request_path}"
+        )
 
       assign(conn, :valid_signature, HTTPSignatures.validate_conn(conn))
     else
+      Logger.debug("No signature header!")
       conn
     end
   end