From 1f0dab21169104941503747b2124cb6321259344 Mon Sep 17 00:00:00 2001
From: mscherer <mscherer@users.noreply.github.com>
Date: Fri, 26 Nov 2021 15:55:11 +0100
Subject: [PATCH] Implement Well-Known URL for password change (#17777)

* Implement Well-Known URL for password change

Fixes #11804
---
 routers/web/web.go | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/routers/web/web.go b/routers/web/web.go
index ebced6942f..a642fdea5e 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -232,10 +232,16 @@ func RegisterRoutes(m *web.Route) {
 	// Routers.
 	// for health check
 	m.Get("/", Home)
-	m.Get("/.well-known/openid-configuration", user.OIDCWellKnown)
-	if setting.Federation.Enabled {
-		m.Get("/.well-known/nodeinfo", NodeInfoLinks)
-	}
+	m.Group("/.well-known", func() {
+		m.Get("/openid-configuration", user.OIDCWellKnown)
+		if setting.Federation.Enabled {
+			m.Get("/nodeinfo", NodeInfoLinks)
+		}
+		m.Get("/change-password", func(w http.ResponseWriter, req *http.Request) {
+			http.Redirect(w, req, "/user/settings/account", http.StatusTemporaryRedirect)
+		})
+	})
+
 	m.Group("/explore", func() {
 		m.Get("", func(ctx *context.Context) {
 			ctx.Redirect(setting.AppSubURL + "/explore/repos")