В этой статье мы расскажем, как получить доступ к веб-токену 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