Редирект, используя jwt
я решил использовать jwt в своем проекте в качестве обучения. Я уже сделал авторизацию с помощью jwt:
async function Login() {
const response = await fetch('auth/login', {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: "POST",
body: JSON.stringify({username: document.getElementById("login").value, password: document.getElementById("pass").value})
});
let result = await response.json()
if (!result['success']) {
alert(result['message'])
}
else {
localStorage.setItem('token', result['token']);
}
document.getElementById("login").value = ''; document.getElementById("pass").value = '';
}
Дальше я хочу перейти на страницу /home (личный кабинет), я уже сделал код бэкенда middleware, который проверит, авторизован ли пользователь:
const jwt = require('jsonwebtoken')
const {secret} = require('../config')
module.exports = function (req, res, next) {
if (req.method === "OPTIONS") {
next()
}
try {
const token = req.headers.authorization.split(' ')[1]
if (!token) {
return res.status(403).json({message: "Пользователь не авторизован"})
}
const decodeData = jwt.verify(token, secret)
req.user = decodeData
next()
} catch (e) {
console.log(e)
return res.status(403).json({message: "Пользователь не авторизован"})
}
}
А как теперь организовать редирект на фронтенте, чтобы после авторизации в следующем запросе отправлялся токен и загружалась новая страница по адресу localhost:3000/home
Большое спасибо!