Я реализовал аутентификацию Guard https://symfony.com/doc/current/security/guard_authentication.html с ключами API.
Это быстро и очень просто.Другие используют дополнительно lexikJWT https://knpuniversity.com/screencast/symfony-rest4
В моей тестовой системе lexikJWT работает очень медленно.Мне действительно нужен JWT?Когда я реализую addUser, выйду из системы и истекаю для охраны, у меня будет все, что мне нужно, или?
- В обоих случаях другие не могут изменить токен apiKey или JWT (тогда он недействителен) или создать новые.
- Если кто-то украл токен apiKey или JWT, у него будет доступ в обоих случаях.
- В обоих случаях мне нужно хранить конфиденциальные данные (пользователя, пароль, токен и т. Д.) Где-то вбаза данных
- С помощью apiKey в базе данных также есть роль и уникальное имя / идентификатор, поэтому мне не нужна эта информация в токене JWT.
Так в чем же преимущество?
Недостаток в моем варианте:
- lexikJWT намного медленнее, особенно в сервис-ориентированной архитектуре с множеством различных вызовов API ...
- lexikJWT - сторонняя организацияпрограммное обеспечение (как узнать, существует ли lexikJWT или хорошо поддерживается в течение 4 лет)
Спасибо и наилучшими пожеланиями