diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eee9cef..87234034 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v1.10.46 +## mm/dd/2024 + +1. [](#improved) + * Used Login's new `site_host` security setting for Admin password reset. Requires Login version `3.7.8+` + # v1.10.45 ## 03/18/2024 diff --git a/blueprints.yaml b/blueprints.yaml index 6550b780..676aa73a 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -17,7 +17,7 @@ license: MIT dependencies: - { name: grav, version: '>=1.7.42' } - { name: form, version: '>=6.0.1' } - - { name: login, version: '>=3.7.0' } + - { name: login, version: '>=3.7.8' } - { name: email, version: '>=3.1.6' } - { name: flex-objects, version: '>=1.2.0' } diff --git a/classes/plugin/Controllers/Login/LoginController.php b/classes/plugin/Controllers/Login/LoginController.php index fceaec0e..871162f4 100644 --- a/classes/plugin/Controllers/Login/LoginController.php +++ b/classes/plugin/Controllers/Login/LoginController.php @@ -469,7 +469,15 @@ class LoginController extends AdminController $fullname = $user->fullname ?: $username; $author = $config->get('site.author.name', ''); $sitename = $config->get('site.title', 'Website'); - $reset_link = $this->getAbsoluteAdminUrl("/reset/u/{$username}/{$token}"); + $reset_route = "/reset/u/{$username}/{$token}"; + + $site_host = $config->get('plugins.login.site_host'); + if (!empty($site_host)) { + $admin = $this->getAdmin(); + $reset_link = rtrim($site_host, '/') . '/' . trim($admin->base, '/') . '/' . ltrim($reset_route, '/'); + } else { + $reset_link = $this->getAbsoluteAdminUrl($reset_route); + } // For testing only! //Admin::DEBUG && Admin::addDebugMessage(sprintf('Reset link: %s', $reset_link));