Add email verification for user accounts

Every account created after the first must confirm a 24-hour link
(Lib\Mailer::sendMail(), log-file or MailJet) before AdminAuth::attempt()
allows login, folded into the same generic pass/fail as a disabled account
or wrong password. First user and pre-migration rows are grandfathered;
create-admin-user.php also auto-verifies for lockout recovery.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
code
2026-07-15 19:23:20 +00:00
parent c0455241ea
commit e699027b4b
13 changed files with 396 additions and 41 deletions
+9
View File
@@ -51,4 +51,13 @@ return [
// `php novaconium/bin/index-content.php` (e.g. from a deploy step):
// 'content_index_enabled' => true,
// 'content_index_auto' => false,
// Docs: /admin/docs/admin-auth — email verification. Set all four to
// switch Lib\Mailer's transactional mail (verification links, not the
// contact form) from the zero-dependency log fallback to MailJet:
// 'mail_driver' => 'mailjet',
// 'mail_from_email' => 'noreply@example.com',
// 'mail_from_name' => 'Example Site',
// 'mailjet_api_key' => '...',
// 'mailjet_api_secret' => '...',
];