Fix
This commit is contained in:
parent
748baff8f3
commit
1faafeee26
11 changed files with 126 additions and 48 deletions
|
@ -7,12 +7,11 @@ defmodule Nulla.HTTPSignature do
|
|||
date = DateTime.utc_now() |> Calendar.strftime("%a, %d %b %Y %H:%M:%S GMT")
|
||||
uri = URI.parse(inbox_url)
|
||||
|
||||
signature_string = """
|
||||
(request-target): post #{uri.path}
|
||||
host: #{uri.host}
|
||||
date: #{date}
|
||||
digest: #{digest}
|
||||
"""
|
||||
signature_string =
|
||||
"(request-target): post #{uri.path}\n" <>
|
||||
"host: #{uri.host}\n" <>
|
||||
"date: #{date}\n" <>
|
||||
"digest: #{digest}"
|
||||
|
||||
user = User.get_user(id: actor.id)
|
||||
|
||||
|
@ -56,13 +55,16 @@ defmodule Nulla.HTTPSignature do
|
|||
end
|
||||
|
||||
defp parse_signature_header(header) do
|
||||
header =
|
||||
header
|
||||
|> String.split(",")
|
||||
|> Enum.map(fn pair ->
|
||||
[k, v] = String.split(pair, "=", parts: 2)
|
||||
{String.trim(k), String.trim(v, ~s("))}
|
||||
end)
|
||||
|> Enum.into(%{})
|
||||
|
||||
header
|
||||
|> String.split(",")
|
||||
|> Enum.map(fn pair ->
|
||||
[k, v] = String.split(pair, "=", parts: 2)
|
||||
{String.trim(k), String.trim(v, ~s("))}
|
||||
end)
|
||||
|> Enum.into(%{})
|
||||
end
|
||||
|
||||
defp build_signature_string(nil, _conn), do: {:error, :missing_headers}
|
||||
|
@ -83,6 +85,9 @@ defmodule Nulla.HTTPSignature do
|
|||
|
||||
"(request-target): #{method} #{path}"
|
||||
|
||||
"host" ->
|
||||
"host: #{conn.host}"
|
||||
|
||||
_ ->
|
||||
value = get_req_header(conn, header) |> List.first()
|
||||
if value, do: "#{header}: #{value}", else: nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue