[backend/federation] If present, use ASActor.WebfingerAddress for user resolution (FEP-2c59)

This commit is contained in:
Laura Hausmann 2024-09-09 21:14:32 +02:00
parent 21b48789f9
commit a500b3964d
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -74,7 +74,10 @@ public class UserResolver(
actor.Normalize(query); actor.Normalize(query);
var domain = new Uri(actor.Id).Host; var domain = new Uri(actor.Id).Host;
var username = actor.Username!; var username = actor.Username!;
return await WebFingerAsync($"acct:{username}@{domain}", false, actor.Id); var wfaddr = actor.WebfingerAddress != null && !actor.WebfingerAddress.StartsWith("acct:")
? "acct:" + actor.WebfingerAddress
: actor.WebfingerAddress;
return await WebFingerAsync(wfaddr ?? $"acct:{username}@{domain}", false, actor.Id);
} }
catch (Exception e) catch (Exception e)
{ {
@ -124,7 +127,11 @@ public class UserResolver(
actor.Normalize(apUri); actor.Normalize(apUri);
var domain = new Uri(actor.Id).Host; var domain = new Uri(actor.Id).Host;
var username = new Uri(actor.Username!).Host; var username = new Uri(actor.Username!).Host;
return await WebFingerAsync($"acct:{username}@{domain}", false, apUri, responses); var wfaddr = actor.WebfingerAddress != null && !actor.WebfingerAddress.StartsWith("acct:")
? "acct:" + actor.WebfingerAddress
: actor.WebfingerAddress;
return await WebFingerAsync(wfaddr ?? $"acct:{username}@{domain}", false, apUri, responses);
} }
catch (Exception e) catch (Exception e)
{ {