1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ezy-api-token

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

APIToken Последняя версия

Простой компонент аутентификации.- Выпуск токена, после успешной проверки входа выпускается токен, который возвращается клиенту через заголовок ответа x-token.

  • Отправка токена, поддерживает несколько способов отправки:
    • Заголовок запроса Authorization: Bearer
    • Заголовок запроса, параметр Cookie x-token
    • Параметр запроса, параметр POST token
  • Автоматическое продление
    • Срок действия токена, короткий срок (например, 2 часа) При использовании устаревшего токена сервер выдает новый токен через заголовок x-token. Временно старый токен остается действительным еще 60 секунд, после чего его использование приведет к ошибке 401.
    • Срок истечения токена, более длительный срок (например, 7 дней) При использовании просроченного токена сервер вернет ошибку 401, что потребует от клиента повторного входа.
  • Отмена токена, при выходе пользователя из системы или принудительном удалении сессии.
  • Множественные экземпляры, можно использовать несколько экземпляров одновременно.
  • Интерактивное удаление, каждый экземпляр позволяет иметь максимум один актуальный токен для каждого пользователя.
  • Формат токена, парсинг токена позволяет получить идентификатор клиента, идентификатор пользователя, время выпуска, подпись.- Подпись токена создаётся на основе идентификатора клиента, идентификатора пользователя, времени выпуска, информации о устройстве для предотвращения подделки или изменений токена.## Установка зависимостей
composer require reezy/api-token

Пример использования

При успешной проверке входа выпускайте токен:

$manager = $container->get(APITokenManager::class);
// Выпустите токен для указанного пользователя
$token = $manager->get('app')->issue($request, $userId);

return $response->withHeader($manager->getHeaderTokenKey(), $token);

При выходе пользователя из системы отмените токен:

// Получите текущий экземпляр используемого в запросе
APIToken::get($request)->revoke($userId);
  • Необходимо добавить middleware APITokenMiddleware в контроллер или запрос.
  • Предоставлено событие APITokenChecked, которое вызывается каждый раз при успешной проверке токена.

Конфигурация

<?php
return [
    'app' => [ 
        'secret_key' => 'SECRET_KEY',
        'fresh_time' => 7200,
        'ttl' => 86400, 
    ],
    'admin' => [ 
        'secret_key' => 'SECRET_KEY',
        'fresh_time' => 7200,
        'ttl' => 86400,
    ],

    'header_token_key' => 'x-token',
    'params_token_key' => 'token',
];

Лицензия

Компонент является программным обеспечением с открытым исходным кодом, лицензированное по лицензии Apache License.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой в использовании компонент аутентификации. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (2)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ezy-api-token.git
git@api.gitlife.ru:oschina-mirror/ezy-api-token.git
oschina-mirror
ezy-api-token
ezy-api-token
master