В этой статье мы расскажем, как получить доступ к веб-токену JSON (JWT), а также как защитить наши маршруты с помощью веб-токена JSON.
Вы когда-нибудь задумывались о процессе аутентификации? Что скрывается за слоями абстракции и сложности? Ничего необычного. Это метод шифрования данных и создания уникального токена, который пользователи могут использовать для идентификации. Ваша личность подтверждается этим токеном. Он проверит вашу личность и предоставит вам доступ к различным услугам. Если вы не узнаете ни одного из этих слов, не волнуйтесь, я все объясню ниже.
Настраивать
Прежде чем мы начнем с этого, у нас должно быть несколько вещей, установленных на нашей машине.
Предварительные условия и зависимости
Создайте новую папку с именем проекта (NodeAuthAPI) и откройте ту же папку в Visual Studio Code (VS Code)
Выполните следующую команду, чтобы инициализировать наш файл package.json.
npm init - да
Установите все наши оставшиеся зависимости
npm установить экспресс jsonwebtoken
npm install -g nodemon
Почему эти зависимости?
Экспресс - работает на сервере (номер порта)
Jsonwebtoken - будет использоваться для подписи и проверки веб-токенов JSON.
Nodemon - будет использовать это для автоматического перезапуска нашего сервера всякий раз, когда мы вносим изменения в наши файлы.
Создайте внутри проекта файл с именем index.js.
Структура проекта
Давайте импортируем пакеты в файл index.js
const express = require («экспресс»);
const jwt = require («jsonwebtoken»);
Теперь инициализируйте переменную приложения с помощью экспресс
const приложение = экспресс ();
настроить номер порта для обработки нашим сервером
app.listen (5000, () = ›console.log (« прослушивание порта 5000 »));
Давайте запустим и проверим, работает ли наше приложение с тем же номером порта, который мы упомянули выше.
Запустите команду в терминале - nodemon, чтобы проверить вывод
Создайте простой метод get для проверки вывода в Postman.
index.js
Почтальон
Итак, подтверждено, что наш метод get работает должным образом. Теперь настройте настройку jwt для проверки фактического механизма аутентификации. Создайте метод входа в систему API для публикации с фиктивным именем пользователя и электронной почтой, а также я установил секунды истечения срока действия токена тем же методом.
Почтальон
Токен создается с базовыми учетными данными. Теперь нам нужно проверить другой API с этим токеном для доступа к учетным данным.
Создайте функцию и проверьте токен, который будет передан как заголовок
Образец авторизации: предъявитель ‹ваш жетон›
Давайте создадим API для проверки этого токена
Тестирование с Postman
Если вы пытаетесь получить доступ к API проверки без передачи токена, он даст нам 403 Forbidden из-за несанкционированного доступа.
Теперь давайте сначала получим токен, обратившись к API входа в систему, а затем передадим тот же токен, что и заголовок в Validate API, чтобы получить доступ и результат.
Примечание
Через 30 секунд токен истечет, потому что мы определили время истечения в коде, нам нужно снова получить токен, обратившись к API входа.
Спасибо за прочтение этой статьи. Надеюсь, вы получили четкое представление об аутентификации API-интерфейса Node.js с помощью JWT.
Поддержите меня
Продолжай учиться!
Больше контента на plainenglish.io