sonata/jwt-auth

There is no license information available for the latest version (v1.0.1) of this package.

JWT auth module for Sonata framework

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/sonata/jwt-auth

v1.0.1 2026-02-07 08:53 UTC

This package is auto-updated.

Last update: 2026-02-07 08:54:55 UTC


README

JWT-модуль для Sonata Framework: авторизация, refresh-токены и базовая таблица пользователей.

Установка

composer require sonata/jwt-auth

Требования

  • sonata/framework
  • firebase/php-jwt
  • ext-pdo
  • Переменная JWT_SECRET

Миграции

Модуль использует таблицы users и refresh_tokens.

Если в приложении доступна команда:

php bin/console jwt:install

Или выполните SQL вручную из файла:

migrations/001_create_users_and_refresh_tokens.sql

Эндпоинты

Контроллер Sonata\JwtAuth\Controllers\AuthController регистрируется автоматически:

  • POST /api/login — логин (email, password)
  • POST /api/registration — регистрация
  • POST /api/refresh — обновление токена
  • POST /api/logout — логаут
  • GET /api/me — профиль по access token

Пример логина:

POST /api/login
Content-Type: application/json

{
  "email": "user@example.com",
  "password": "password123"
}

Ответ:

{
  "access_token": "...",
  "refresh_token": "...",
  "token_type": "Bearer",
  "expires_in": 900
}

Логика

  • Login: проверяет password_hash, выдает access + refresh токены.
  • Refresh: хранит хэш refresh-токена в refresh_tokens, отзывает старый при обновлении.
  • Logout: отзывает все refresh-токены пользователя.
  • Me: читает Authorization: Bearer <token> и валидирует JWT.

Переменные окружения

  • JWT_SECRET — ключ подписи JWT.