17030cdbfcd594339bb87da602eb34ee30601262
[akkoma] / lib / pleroma / plugs / http_signature.ex
1 defmodule Pleroma.Web.Plugs.HTTPSignaturePlug do
2 alias Pleroma.Web.HTTPSignatures
3 import Plug.Conn
4
5 def init(options) do
6 options
7 end
8
9 def call(conn, opts) do
10 if get_req_header(conn, "signature") do
11 conn = conn
12 |> put_req_header("(request-target)", String.downcase("#{conn.method} #{conn.request_path}"))
13
14 assign(conn, :valid_signature, HTTPSignatures.validate_conn(conn))
15 else
16 conn
17 end
18 end
19 end