From 702a876453a8906103e95a62f6cfa25fb08ea8e4 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 15 Feb 2024 18:49:13 +0100 Subject: [PATCH] Advertise WebAuthn support (#29176) This well-known indicates for password manager, that passkeys are supported. source: https://android-developers.googleblog.com/2023/10/make-passkey-endpoints-well-known-url-part-of-your-passkey-implementation.html spec: https://github.com/ms-id-standards/MSIdentityStandardsExplainers/blob/main/PasskeyEndpointsWellKnownUrl/explainer.md --- routers/web/passkey.go | 24 ++++++++++++++++++++++++ routers/web/web.go | 1 + 2 files changed, 25 insertions(+) create mode 100644 routers/web/passkey.go diff --git a/routers/web/passkey.go b/routers/web/passkey.go new file mode 100644 index 000000000..95874dfc4 --- /dev/null +++ b/routers/web/passkey.go @@ -0,0 +1,24 @@ +// Copyright 2024 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package web + +import ( + "net/http" + + "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/setting" +) + +type passkeyEndpointsType struct { + Enroll string `json:"enroll"` + Manage string `json:"manage"` +} + +func passkeyEndpoints(ctx *context.Context) { + url := setting.AppURL + "user/settings/security" + ctx.JSON(http.StatusOK, passkeyEndpointsType{ + Enroll: url, + Manage: url, + }) +} diff --git a/routers/web/web.go b/routers/web/web.go index ba5c86cc7..7aa9bb079 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -473,6 +473,7 @@ func registerRoutes(m *web.Route) { m.Get("/change-password", func(ctx *context.Context) { ctx.Redirect(setting.AppSubURL + "/user/settings/account") }) + m.Get("/passkey-endpoints", passkeyEndpoints) m.Methods("GET, HEAD", "/*", public.FileHandlerFunc()) }, optionsCorsHandler())