]> git.ipfire.org Git - ipfire.org.git/commitdiff
auth: Implement /.well-known/change-password
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 15 Dec 2023 13:50:03 +0000 (13:50 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 15 Dec 2023 13:50:03 +0000 (13:50 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/web/__init__.py
src/web/auth.py

index b7cafbba4e9eda663f7c1d971b62ea35a3d2ca13..1b7dbfb9b595e39cb53d9488b3a3347d7fc3e604 100644 (file)
@@ -169,6 +169,7 @@ class Application(tornado.web.Application):
                        # Password Reset
                        (r"/password\-reset", auth.PasswordResetInitiationHandler),
                        (r"/password\-reset/([a-z_][a-z0-9_-]{0,31})/(\w+)", auth.PasswordResetHandler),
+                       (r"/.well-known/change-password", auth.WellKnownChangePasswordHandler),
 
                        # Projects
                        (r"/projects/location", location.IndexHandler),
index 352a9f47e9f5aab402654bc25d1ab4aa9a1e52b6..f14a184cfb69319f240bb6d52f0090064cbb087d 100644 (file)
@@ -178,6 +178,15 @@ class PasswordResetHandler(AuthenticationMixin, base.BaseHandler):
                self.redirect("/")
 
 
+class WellKnownChangePasswordHandler(base.BaseHandler):
+       @tornado.web.authenticated
+       def get(self):
+               """
+                       Implements https://web.dev/articles/change-password-url
+               """
+               self.redirect("/users/%s/passwd" % self.current_user.uid)
+
+
 class SSODiscourse(base.BaseHandler):
        @base.ratelimit(minutes=24*60, requests=100)
        @tornado.web.authenticated