add password-reset flow: request endpoint + reset page + login link (shared OneTimeToken)

This commit is contained in:
Pontoporeia
2026-08-24 11:36:02 +02:00
parent d7184e4447
commit ddae5d8fef
7 changed files with 269 additions and 10 deletions
+29
View File
@@ -0,0 +1,29 @@
<main id="main-content">
<div class="admin-login-wrap">
<div class="admin-login-box">
<h2>Nouveau mot de passe</h2>
<?php if ($error): ?>
<p class="toast" role="alert" data-type="error">⚠ <?= htmlspecialchars($error) ?></p>
<?php endif; ?>
<form method="post" action="/admin/password-reset.php" class="admin-form" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token'] ?? '') ?>">
<input type="hidden" name="token" value="<?= htmlspecialchars($token) ?>">
<div>
<label for="new_password">Nouveau mot de passe</label>
<input type="password" id="new_password" name="new_password" required minlength="12" autocomplete="new-password" autofocus>
<small>Minimum 12 caractères.</small>
</div>
<div>
<label for="confirm_password">Confirmer le mot de passe</label>
<input type="password" id="confirm_password" name="confirm_password" required minlength="12" autocomplete="new-password">
</div>
<div class="admin-form-footer">
<button type="submit" class="btn btn--primary">Enregistrer le mot de passe</button>
</div>
</form>
<p class="admin-cancel-link" style="margin-top:var(--space-s);text-align:center">
<a href="/admin/login.php">Retour à la connexion</a>
</p>
</div>
</div>
</main>