blob: 15dc88fa840a8c4918c3318245ffe99cec527529 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
using LibMatrix.Abstractions;
using LibMatrix.Federation.Extensions;
using LibMatrix.Homeservers;
namespace LibMatrix.Federation;
public class AuthenticatedFederationClient(string federationEndpoint, AuthenticatedFederationClient.AuthenticatedFederationConfiguration config, string? proxy = null) : FederationClient(federationEndpoint, proxy) {
public class AuthenticatedFederationConfiguration {
public required VersionedHomeserverPrivateKey PrivateKey { get; set; }
public required string OriginServerName { get; set; }
}
public async Task<UserDeviceListResponse> GetUserDevicesAsync(string userId) {
var response = await HttpClient.SendAsync(new XMatrixAuthorizationScheme.XMatrixRequestSignature() {
OriginServerName = config.OriginServerName,
DestinationServerName = userId.Split(':', 2)[1],
Method = "GET",
Uri = $"/_matrix/federation/v1/user/devices/{userId}",
}.ToSignedHttpRequestMessage(config.PrivateKey));
return response;
}
}
|