WebFinger: Add CORS header and fix Href -> Template for remote interactions

The CORS header is needed due to https://datatracker.ietf.org/doc/html/rfc7033#section-5 and fixes some Peertube <-> Gitea federation issues
This commit is contained in:
Anthony Wang 2022-06-13 15:39:20 -05:00
parent a5b00ec4a5
commit b6b7fe27b6
Signed by: a
GPG key ID: BC96B00AEC5F2D76

View file

@ -29,6 +29,7 @@ type webfingerLink struct {
Rel string `json:"rel,omitempty"`
Type string `json:"type,omitempty"`
Href string `json:"href,omitempty"`
Template string `json:"template,omitempty"`
Titles map[string]string `json:"titles,omitempty"`
Properties map[string]interface{} `json:"properties,omitempty"`
}
@ -109,10 +110,11 @@ func WebfingerQuery(ctx *context.Context) {
},
{
Rel: "http://ostatus.org/schema/1.0/subscribe",
Href: appURL.String() + "api/v1/authorize_interaction?uri={uri}",
Template: appURL.String() + "api/v1/authorize_interaction?uri={uri}",
},
}
ctx.Resp.Header().Add("Access-Control-Allow-Origin", "*")
ctx.JSON(http.StatusOK, &webfingerJRD{
Subject: fmt.Sprintf("acct:%s@%s", url.QueryEscape(u.Name), appURL.Host),
Aliases: aliases,