На стороне сервера, после того как вы создали токен и вошли в систему, вы отправляете токен с помощью res.send (), пример ниже, обратите внимание, что у вас может быть другой подход к функциям findByCredentials ad genereateAuthToken, они являются пользовательскими:
app.post("/users/login", async (req, res) => {
try {
const user = await User.findByCredentials(
req.body.email,
req.body.password
);
const token = await user.generateAuthToken();
res.send({ token: user.tasks });
} catch (e) {
res.status(400).send();
}
});
На веб-интерфейсе вы можете использовать функцию html5 fetch () для отправки токена в заголовке.Например, если вы хотите получить доступ к «/ users / me», который требует аутентификации, выполните следующие действия (однако сначала убедитесь, что вы сохранили токен в localalstorage, чтобы получить к нему доступ через getItem:
localStorage.setItem('userInfo', JSON.stringify(userInfo));
document.getElementById("my-profile").addEventListener("click", getMe);
тогда:
function getMe(e) {
e.preventDefault();
var token = JSON.parse(localStorage.getItem('token'));
console.log(`Authorization=Bearer ${token}`)
fetch('/users/me', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + token
}
})
.then(res => res.json())
.then(data => {
console.log(data)
// window.location.href = 'http://localhost:3000/dashboard';
})
.catch(err => { console.log(err) })
}