Нужно ли использовать токен JWT при входе в Angular 6 и PHP веб-приложение

О шаге входа на Angular 6:

Если бы я сделал это следующим образом:

  1. Отправить имя пользователя и пароль в PHP;
  2. Сервер проверяет код пользователя, если существует;
  3. Если он действительно существует, мы снова отправим в Angular массив json, содержащий username а также user role
  4. Сохраните их в местном хранилище
  5. И когда пользователь попытается перемещаться по приложению, мы проверим эти учетные данные, используя canActivate служба охраны.

Нужно ли использовать JWT для установки токена или нет?

1

Решение

Не обязательно использовать JWT, если ваше приложение требует дополнительных
используйте его для критически важной безопасности.

Использование JWT защищает данные от нежелательных изменений до их получения сервером. Нежелательные модификации могут быть сделаны кем-то, перехватывающим данные или от самого пользователя.

JWT просто отправляет данные на сервер в кодированном формате вместе с подписью. Таким образом, эта модификация становится немного жесткой или даже если она сделана, данные не принимаются сервером, так как проверка подписи завершается неудачно.

Переданные образцы данных JWT:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9           // header
.eyJrZXkiOiJ2YWwiLCJpYXQiOjE0MjI2MDU0NDV9      // payload
.eUiabuiKv-8PYk2AkGY4Fb5KMZeorYBLw261JPQD5lM

Образцы данных в формате plain / json

{
"username": "hello",
"full_name" : "Jason Bourne"}

Здесь вы можете легко увидеть и изменить переданные данные, а в JWT — нет.

1

Другие решения

Да! тебе нужно, так как :

Системы аутентификации на основе токенов позволяют пользователям вводить свое имя пользователя и пароль для получения токена, который позволяет им извлекать определенный ресурс — без ввода имени пользователя и пароля при каждом запросе. После получения своего токена пользователь может использовать токен для доступа к определенным ресурсам в течение установленного периода времени.

JWT (произносится как «jot») — это система аутентификации на основе токенов. Это компактный URL-безопасный способ представления претензий, передаваемых между двумя сторонами. Заявки в JWT кодируются как объект JSON, который имеет цифровую подпись с использованием JSON Web Signature. JWT — это автономный токен, который содержит информацию для аутентификации, информацию об истечении срока действия и другие определенные пользователем заявления с цифровой подписью.

Источник: JWT (JSON Web Tokens) лучше, чем сессионные куки

больше информации: JWT

вступление: эта ссылка

Пример реализации: PHP-авторизации-JWT-JSON-веб-маркеры

1

Это не обязательно, но может пригодиться.

Если у вас есть одно приложение, работающее на одном веб-сервере, вы можете пропустить JWT полностью и просто иметь механизм проверки подлинности файлов cookie, чтобы каждый вызов JavaScript веб-серверу содержал ваш файл cookie проверки подлинности, чтобы ваш бэкэнд мог отвечать правильными данными пользователя.

JWT пригодится, когда вы задействуете больше серверов. Представьте, что служба единого входа действует как связующее звено между несколькими связанными сайтами, такими как StackOverflow и другие. Вы просто передаете токен JWT, и каждый сервер может с уверенностью предположить, что данные не были подделаны, и получить немедленный доступ к личности пользователя, некоторым базовым деталям и т. Д.

0