Я пытаюсь создать веб-сайт для входа администратора, чтобы добавить данные в базу данных. На самом деле я уже написал API для администратора, когда они входят в сеть. Токен доступа будет сгенерирован jwt, передан во внешний интерфейс и сохранен в локальном хранилище пользователя. Я знаю, что jwt можно добавить в заголовок пользователя req.
Но как дать бэк-энду знать, что токен доступа, отправленный пользователем, действителен?
В моей базе данных естьТаблица пользователей, в которой сохраняются электронная почта пользователей и хешированный пароль. Является ли хорошим способом для бэк-энда декодировать токен доступа для получения электронной почты пользователя и поиска в БД, когда пользователь вызывает API с заголовками?
Эта часть моей функции Lambda для входа в Интернет:
const { JWT_SECRET } = process.env
const accessToken = jwt.sign(
{ username: event.username },
JWT_SECRET,
{ expiresIn: '7days' }
)
также в моей БД. структура данных:
{
'email": "***",
"id": "*",
"password": "***",
"username": "***"
}
Во внешнем интерфейсе, скажем, есть API для отправки новых данных:
export const addNewData = function (accessToken, newValue) {
return apiClient.post(***API endpoint***',
newValue, {
headers: {
Authorization: `Bearer ${accessToken}`
}
})