JWT-AUTH
thinkphp пакет для аутентификации JSON Web Token (JWT). Поддерживает несколько способов передачи параметров: через заголовок, cookie и параметр. Включает в себя верификацию, верификацию с автоматическим обновлением и другие промежуточные программы.
Для версии 2.x требуется PHP 8.1 или выше, для версий ниже 8.0 рекомендуется использовать версию 1.x
В настоящее время поддерживаются три основных типа алгоритмов шифрования: RSA, HASH, DSA. Каждый из них имеет длину 256, 384 и 512 бит. По умолчанию используется HS256 (hash 256-битное шифрование). Если необходимо изменить алгоритм шифрования, измените параметр ALGO. Доступные варианты:
Важно: RSA и DSA являются асимметричными алгоритмами шифрования. Помимо изменения параметра ALGO, необходимо настроить параметры PUBLIC_KEY и PRIVATE_KEY. Эти два параметра поддерживают только пути к файлам ключей. Если ключ защищён паролем, настройте параметр PASSWORD.
Шаг 1:
$ composer require thans/tp-jwt-auth
Шаг 2:
$ php think jwt:create
Эта команда создаст файлы jwt.php и .env. Не рекомендуется изменять jwt.php напрямую. В файле .env будет сгенерирован секрет случайным образом. Не изменяйте его произвольно и обеспечьте его безопасность.
Для маршрутов или модулей, требующих аутентификации, добавьте промежуточное ПО:
thans\jwt\middleware\JWTAuth::class,
Пример:
use thans\jwt\facade\JWTAuth;
$token = JWTAuth::builder(['uid' => 1]);//параметр для аутентификации пользователя, добавьте самостоятельно
JWTAuth::auth();//проверка токена
JWTAuth::refresh();//обновление токена, старый токен будет добавлен в чёрный список
$tokenStr = JWTAuth::token()->get(); //можно получить полный токен из запроса
$payload = JWTAuth::auth(); //можно проверить токен и получить часть payload из токена, например, uid
Описание обновления токена:
Срок действия токена по умолчанию составляет 60 секунд. Вы можете изменить его в файле env. refresh_ttl — это параметр, который определяет срок действия обновлённого токена в минутах. По умолчанию срок действия составляет 14 дней. После истечения срока действия токен добавляется в чёрный список. Чтобы включить автоматическое обновление, используйте промежуточное ПО thans\jwt\middleware\JWTAuthAndRefresh::class. После обновления токена он будет возвращён через header. Сохраните его. (Обратите внимание, что при первом обращении после истечения срока действия вы войдёте в систему нормально, а при втором обращении — в чёрный список.)
Способ передачи токена:
Вы можете настроить способ получения параметров и приоритет с помощью параметра token_mode в файле jwt.php. По соображениям безопасности рекомендуется отключить приём токенов через cookie, чтобы избежать конфликтов токенов в некоторых случаях разделения фронтенда и бэкенда.
https://github.com/tymondesigns/jwt-auth
MIT
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )