reset Pass

This commit is contained in:
Klaas 2024-05-26 20:05:30 +02:00
parent a866361fda
commit 0f50858c6a
4 changed files with 10 additions and 10 deletions

10
app.js
View File

@ -228,7 +228,7 @@ app.post('/login', async (req, res) => {
}); });
// Logout // Logout
app.post('/logout', (req, res) => { app.get('/logout', (req, res) => {
req.session.destroy(err => { req.session.destroy(err => {
if (err) { if (err) {
return res.status(500).send('Internal Server Error'); return res.status(500).send('Internal Server Error');
@ -250,17 +250,15 @@ app.post('/activate', requireAuth, requireAdmin, async (req, res) => {
}); });
// Passwort-Zurücksetzung anfordern // Passwort-Zurücksetzung anfordern
app.post('/forgot-password', async (req, res) => { app.post('/send-password', async (req, res) => {
const { email } = req.body; const { email } = req.body;
console.log ( email );
try { try {
const userResult = await pool.query('SELECT * FROM users WHERE email = $1', [email]); const userResult = await pool.query('SELECT * FROM users WHERE email = $1', [email]);
if (userResult.rows.length > 0) { if (userResult.rows.length > 0) {
const user = userResult.rows[0]; const user = userResult.rows[0];
const token = crypto.randomBytes(20).toString('hex'); const token = crypto.randomBytes(20).toString('hex');
const resetLink = `http://tkd.boergmann.it/reset-password/${token}`; const resetLink = `http://tkd.boergmann.it/reset-password/${token}`;
console.log(resetLink); await pool.query('UPDATE users SET reset_password_token = $1, reset_password_expires = $2 WHERE id = $3', [token, selectedDate = moment().add(1,'d').toDate() , user.id]);
await pool.query('UPDATE users SET reset_password_token = $1, reset_password_expires = $2 WHERE id = $3', [token, Date.now() + 3600, user.id]);
const mailOptions = { const mailOptions = {
to: user.email, to: user.email,
@ -287,7 +285,7 @@ app.post('/forgot-password', async (req, res) => {
}); });
app.get('/forgot-password', async (req, res) => { app.get('/forgot-password', async (req, res) => {
res.render('forgot-password', {session: req.session, token : '123'}) res.render('forgot-password', {session: req.session})
}) })
// Passwort zurücksetzen // Passwort zurücksetzen

View File

@ -1,7 +1,7 @@
<%- include('partials/header') %> <%- include('partials/header') %>
<h1>Forgot Password</h1> <h1>Forgot Password</h1>
<form action="/forgot-password" method="post"> <form action="/send-password" method="post">
<div class="mb-3"> <div class="mb-3">
<label for="email" class="form-label">Email</label> <label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" name="email" required> <input type="email" class="form-control" id="email" name="email" required>

View File

@ -7,6 +7,7 @@
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
</head> </head>
<body> <body>
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="/">Turnstunden WebApp</a> <a class="navbar-brand" href="/">Turnstunden WebApp</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
@ -29,12 +30,13 @@
<% if (session && session.role === 'admin') { %> <% if (session && session.role === 'admin') { %>
<li class="nav-item"><a class="nav-link" href="/admin">Admin</a></li> <li class="nav-item"><a class="nav-link" href="/admin">Admin</a></li>
<% } %> <% } %>
</ul>
<ul class="navbar-nav ml-auto">
<% if (session && session.userId) { %> <% if (session && session.userId) { %>
<li><form action="/logout" method="post"><button type="submit">Logout</button></form></li> <li class="nav-item"><a class="nav-link" href="/logout">Logout</a></li>
<% } else { %> <% } else { %>
<li class="nav-item"><a class="nav-link" href="/login">Login</a></li> <li class="nav-item"><a class="nav-link" href="/login">Login</a></li>
<% } %> <% } %>
</ul> </ul>
</div> </div>
</nav> </nav>

View File

@ -2,7 +2,7 @@
<h1> <h1>
<div> <div>
<% if (previousTraining) { %> <% if (previousTraining) { %>
<a href="/?date=<%= moment(previousTraining.datum).format('DD.MM.YYYY') %>"> &lt; </a> <a href="/?date=<%= moment(previousTraining.datum).format('DD.MM.YYYY') %>"> &lt; </a>
<% } %> <% } %>
Training <%= training.datum %> Training <%= training.datum %>
<% if (nextTraining) { %> <% if (nextTraining) { %>