@leila.dickinson
Для реализации авторизации без регистрации в Node.js можно использовать механизм генерации временных токенов или сессий для аутентификации пользователей. Ниже приведен пример реализации авторизации без регистрации с помощью временных токенов:
1 2 3 4 5 6 7 8 9 10 |
const express = require('express');
const jwt = require('jsonwebtoken');
const app = express();
app.post('/login', (req, res) => {
// Генерация временного токена
const token = jwt.sign({ username: req.body.username, loggedIn: true }, 'secretKey', { expiresIn: '1h' });
res.json({ token });
});
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
const express = require('express');
const jwt = require('jsonwebtoken');
const app = express();
// Проверка токена перед доступом к защищенному ресурсу
const verifyToken = (req, res, next) => {
const token = req.headers.authorization;
if (!token) {
return res.status(401).json({ message: 'Требуется авторизация' });
}
try {
jwt.verify(token, 'secretKey');
next();
} catch (error) {
return res.status(403).json({ message: 'Недопустимый токен' });
}
};
app.get('/protected', verifyToken, (req, res) => {
res.json({ message: 'Доступ к защищенному ресурсу разрешен' });
});
|
Таким образом, пользователь получает временный токен при входе на сайт, и этот токен должен быть передан при доступе к защищенным ресурсам. Токен может быть проверен на валидность с использованием метода jwt.verify().