Create tesla middleware for adding signature to federation requests

Change repo structure
This commit is contained in:
Pim Kunis 2021-08-14 15:20:42 +02:00
parent 214293323c
commit be9860f7d0
23 changed files with 83 additions and 58 deletions

View file

@ -4,7 +4,7 @@ defmodule MatrixServer.Account do
import Ecto.{Changeset, Query}
alias MatrixServer.{Repo, Account, Device}
alias MatrixServerWeb.Request.{Register, Login}
alias MatrixServerWeb.Client.Request.{Register, Login}
alias Ecto.Multi
@max_mxid_length 255

View file

@ -4,7 +4,7 @@ defmodule MatrixServer.Device do
import Ecto.{Changeset, Query}
alias MatrixServer.{Account, Device, Repo}
alias MatrixServerWeb.Request.Login
alias MatrixServerWeb.Client.Request.Login
@primary_key false
schema "devices" do

View file

@ -5,7 +5,7 @@ defmodule MatrixServer.Room do
import Ecto.Query
alias MatrixServer.{Repo, Room, Event, Alias, RoomServer}
alias MatrixServerWeb.Request.CreateRoom
alias MatrixServerWeb.Client.Request.CreateRoom
@primary_key {:id, :string, []}
schema "rooms" do

View file

@ -4,7 +4,7 @@ defmodule MatrixServer.ServerKeyInfo do
import Ecto.Query
alias MatrixServer.{Repo, ServerKeyInfo, SigningKey}
alias MatrixServerWeb.FederationClient
alias MatrixServerWeb.Federation.HTTPClient
alias MatrixServerWeb.Federation.Request.GetSigningKeys
alias Ecto.Multi
@ -35,7 +35,7 @@ defmodule MatrixServer.ServerKeyInfo do
defp refresh_signing_keys(server_name) do
# TODO: Handle expired keys.
in_a_week = System.os_time(:millisecond) + 1000 * 60 * 60 * 24 * 7
client = FederationClient.client(server_name)
client = HTTPClient.client(server_name)
with {:ok,
%GetSigningKeys{
@ -43,7 +43,7 @@ defmodule MatrixServer.ServerKeyInfo do
verify_keys: verify_keys,
valid_until_ts: valid_until
}} <-
FederationClient.get_signing_keys(client) do
HTTPClient.get_signing_keys(client) do
signing_keys =
Enum.map(verify_keys, fn {key_id, %{"key" => key}} ->
[server_name: server_name, signing_key_id: key_id, signing_key: key]