test
This commit is contained in:
parent
fdbea29b82
commit
d1b1ebac98
24
index.js
24
index.js
@ -32,9 +32,7 @@ function sendMail(to, subject, html) {
|
|||||||
.catch(error => console.error('Error sending email:', error));
|
.catch(error => console.error('Error sending email:', error));
|
||||||
}
|
}
|
||||||
|
|
||||||
function authenticateToken(req, res, next) {
|
function authenticateToken(token) {
|
||||||
const authHeader = req.headers['authorization'];
|
|
||||||
const token = authHeader && authHeader.split(' ')[1];
|
|
||||||
if (!token) return res.sendStatus(401);
|
if (!token) return res.sendStatus(401);
|
||||||
|
|
||||||
jwt.verify(token, process.env.JWT_SECRET, (err, user) => {
|
jwt.verify(token, process.env.JWT_SECRET, (err, user) => {
|
||||||
@ -98,8 +96,15 @@ app.get('/', (req, res) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Exemple d'utilisation :
|
// Exemple d'utilisation :
|
||||||
app.get('/api/loginToken', authenticateToken, (req, res) => {
|
app.get('/api/loginToken', async (req, res) => {
|
||||||
res.json({ message: 'Accès autorisé', user: req.user });
|
|
||||||
|
if (!req.cookies) return res.sendStatus(401);
|
||||||
|
|
||||||
|
if (!req.cookies.auth_token) return res.sendStatus(401);
|
||||||
|
|
||||||
|
const token = req.cookies.auth_token;
|
||||||
|
|
||||||
|
authenticateToken(token);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post('/api/login', async (req, res) => {
|
app.post('/api/login', async (req, res) => {
|
||||||
@ -128,7 +133,14 @@ app.post('/api/login', async (req, res) => {
|
|||||||
{ expiresIn: process.env.JWT_EXPIRATION }
|
{ expiresIn: process.env.JWT_EXPIRATION }
|
||||||
);
|
);
|
||||||
|
|
||||||
res.status(200).json({ message: 'Login successful', token });
|
res.cookie("auth_token", token,
|
||||||
|
{
|
||||||
|
httpOnly: true,
|
||||||
|
sameSite: 'Strict'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// res.status(200).json({ message: 'Login successful', token });
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Database error:', err);
|
console.error('Database error:', err);
|
||||||
res.status(500).json({ message: 'Internal server error' });
|
res.status(500).json({ message: 'Internal server error' });
|
||||||
|
@ -18,11 +18,7 @@ loginForm.addEventListener('submit', async (event) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
const responseData = await response.json();
|
// localStorage.setItem('token', responseData.token);
|
||||||
|
|
||||||
console.log('Login successful:', responseData);
|
|
||||||
|
|
||||||
localStorage.setItem('token', responseData.token);
|
|
||||||
|
|
||||||
displayLoginSuccess();
|
displayLoginSuccess();
|
||||||
} else {
|
} else {
|
||||||
@ -37,21 +33,36 @@ loginForm.addEventListener('submit', async (event) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
async function isLoggedInFunction() {
|
async function isLoggedInFunction() {
|
||||||
const token = localStorage.getItem('token');
|
// const token = localStorage.getItem('token');
|
||||||
if (!token) return false;
|
// if (!token) return false;
|
||||||
|
|
||||||
|
// try {
|
||||||
|
// const response = await fetch('/api/loginToken', {
|
||||||
|
// method: 'GET',
|
||||||
|
// headers: {
|
||||||
|
// 'Authorization': `Bearer ${token}`
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
// if (response.ok) {
|
||||||
|
// return true;
|
||||||
|
// } else {
|
||||||
|
// localStorage.removeItem('token');
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// } catch (error) {
|
||||||
|
// console.error('Error checking login status:', error);
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await fetch('/api/loginToken', {
|
const response = await fetch('/api/loginToken', {
|
||||||
method: 'GET',
|
method: 'GET'
|
||||||
headers: {
|
|
||||||
'Authorization': `Bearer ${token}`
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
localStorage.removeItem('token');
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user