summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorAravinth Manivannan <realaravinth@batsense.net>2024-03-24 07:07:01 +0100
committerEarl Warren <earl-warren@noreply.codeberg.org>2024-04-04 18:52:25 +0200
commitfc31f145078e3c22d7a0aa9de2bca77f6d503469 (patch)
treece8aba98dfa799ac209cf32628bb821b6b658916 /routers
parentMerge pull request '[BUG] Fix crash in issue forms' (#3012) from gusted/forge... (diff)
downloadforgejo-fc31f145078e3c22d7a0aa9de2bca77f6d503469.tar.xz
forgejo-fc31f145078e3c22d7a0aa9de2bca77f6d503469.zip
feat: extend webfinger to respond to profile page URIs
Diffstat (limited to 'routers')
-rw-r--r--routers/web/webfinger.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/routers/web/webfinger.go b/routers/web/webfinger.go
index e4b2aacce8..c620059ec1 100644
--- a/routers/web/webfinger.go
+++ b/routers/web/webfinger.go
@@ -64,6 +64,19 @@ func WebfingerQuery(ctx *context.Context) {
if u != nil && u.KeepEmailPrivate {
err = user_model.ErrUserNotExist{}
}
+ case "https", "http":
+ if resource.Host != appURL.Host {
+ ctx.Error(http.StatusBadRequest)
+ return
+ }
+
+ parts := strings.Split(resource.Path, "/")
+ if len(parts) < 2 { // fragment[0] is empty space, fragment[1] may be username
+ ctx.Error(http.StatusBadRequest)
+ return
+ }
+
+ u, err = user_model.GetUserByName(ctx, parts[1])
default:
ctx.Error(http.StatusBadRequest)
return