|
|
@@ -106,13 +106,13 @@ sequenceDiagram
|
|
|
deactivate АПИ
|
|
|
```
|
|
|
|
|
|
-1. Клиент при последующих запрсах добавляет **JWT**-токен в заголовок запроса:
|
|
|
+1. Клиент при последующих запросах добавляет **JWT**-токен в заголовок запроса:
|
|
|
|
|
|
```
|
|
|
Authorization: Bearer <JWT-токен>
|
|
|
```
|
|
|
|
|
|
-1. Сервер, получая **JWT**-токен уже не лезет в таблицу пользователей, а просто проверяет подпись токена, убеждаясь что она не подделана (ключ подписи есть только у севрера). А затем может использовать полезную информацию из токена в запросах к БД. Таким образом мы экономим на каждом входящем запросе одно обращение к БД (а работа с БД самое медленное действие, вычисление подписи намного дешевле)
|
|
|
+1. Сервер, получая **JWT**-токен уже не лезет в таблицу пользователей, а просто проверяет подпись токена, убеждаясь что она не подделана (ключ подписи есть только у сервера). А затем может использовать полезную информацию из токена в запросах к БД. Таким образом мы экономим на каждом входящем запросе одно обращение к БД (а работа с БД самое медленное действие, вычисление подписи намного дешевле)
|
|
|
|
|
|
```mermaid
|
|
|
sequenceDiagram
|
|
|
@@ -168,7 +168,6 @@ const JWT_SECRET = process.env.JWT_SECRET
|
|
|
*/
|
|
|
router.post('/login', async (req, res) => {
|
|
|
try {
|
|
|
- /*
|
|
|
const user = await sequelize.query(`
|
|
|
SELECT *
|
|
|
FROM User
|
|
|
@@ -183,15 +182,6 @@ router.post('/login', async (req, res) => {
|
|
|
login: req.body.login
|
|
|
}
|
|
|
})
|
|
|
- */
|
|
|
-
|
|
|
- // у меня нет таблицы User, поэтому я сделал заглушку
|
|
|
- // вам нужно брать данные для авторизации из БД
|
|
|
- const user = {
|
|
|
- password: md5('123456'),
|
|
|
- id: 1,
|
|
|
- roleId: 1
|
|
|
- }
|
|
|
|
|
|
if (user) {
|
|
|
// хешируем пароль
|