@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()
.