Various HTTP signature code improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -36,14 +36,7 @@ defmodule Mobilizon.Web.Plugs.HTTPSignatures do
|
||||
"(request-target)",
|
||||
String.downcase("#{conn.method}") <> " #{conn.request_path}"
|
||||
)
|
||||
|
||||
conn =
|
||||
if conn.assigns[:digest] do
|
||||
conn
|
||||
|> put_req_header("digest", conn.assigns[:digest])
|
||||
else
|
||||
conn
|
||||
end
|
||||
|> maybe_put_digest_header()
|
||||
|
||||
signature_valid = HTTPSignatures.validate_conn(conn)
|
||||
Logger.debug("Is signature valid ? #{inspect(signature_valid)}")
|
||||
@@ -53,6 +46,11 @@ defmodule Mobilizon.Web.Plugs.HTTPSignatures do
|
||||
end
|
||||
end
|
||||
|
||||
defp maybe_put_digest_header(%Plug.Conn{assigns: %{digest: digest}} = conn),
|
||||
do: put_req_header(conn, "digest", digest)
|
||||
|
||||
defp maybe_put_digest_header(%Plug.Conn{} = conn), do: conn
|
||||
|
||||
@spec date_valid?(Plug.Conn.t()) :: boolean()
|
||||
defp date_valid?(conn) do
|
||||
date = conn |> get_req_header("date") |> List.first()
|
||||
|
||||
Reference in New Issue
Block a user