iseazy/security 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

iseazy/security

最新稳定版本:1.0.3

Composer 安装命令:

composer require iseazy/security

包简介

README 文档

README

Este paquete proporciona autenticadores para Symfony que permiten validar JWT emitidos por Keycloak y autenticación por API Key.

Instalación

  1. Añade el paquete a tu proyecto Symfony con Composer:
composer require iseazy/security
  1. Define los parámetros necesarios en tu archivo de configuración: Si usas jwt con keycloak, asegúrate de definir las variables de entorno necesarias en tu archivo .env:
  • IDAM_URI es la URL de tu servidor Keycloak.
  • IDAM_EXPECTER_ISSUER_URI es la URL de tu aplicación que espera el emisor del JWT.
  • IDAM_AUDIENCE es el público esperado del JWT. Si no esta definido, se usará el valor por defecto IsEazy.
# .env
IDAM_URI=https://keycloak.example.com
IDAM_EXPECTER_ISSUER_URI=http://localhost:8118
IDAM_AUDIENCE=IsEazy

Si usas autenticación por API Key, define la clave en tu archivo .env:

# .env
API_KEY=your_api_key_here
  1. Configura el firewall en tu archivo de configuración de seguridad:
# config/packages/security.yaml
security:
  firewalls:
    api:
      pattern: ^/api
      stateless: true
      custom_authenticators:
        - Iseazy\Security\Security\JwtAuthenticator
        - Iseazy\Security\Security\ApiKeyAuthenticator
      entry_point: Iseazy\Security\Security\JwtAuthenticator

  access_control:
    - { path: ^/api, roles: ROLE_USER }
  1. Configura el proveedor de usuarios para usar el servicio de usuario de Iseazy:
  • Para JWT, implementa la interfaz JwtUserFactoryInterface y crea un servicio que devuelva el usuario basado en el payload del JWT.
use Iseazy\Security\Security\IseazyUserInterface;
use Symfony\Component\Security\Core\User\UserInterface;

class UserFactory implements JwtUserFactoryInterface
{
    public function createUser(array $payload): UserInterface
    {
        // Tu lógica para crear o cargar el usuario desde el payload JWT
        return User::createFromPayload($payload);
    }
}
  • Para API Key, implementa la interfaz ApiKeyUserFactoryInterface y crea un servicio que devuelva el usuario basado en la clave API.
use Iseazy\Security\Security\ApiKeyUserFactoryInterface;
use Symfony\Component\Security\Core\User\UserInterface;
class ApiKeyUserFactory implements ApiKeyUserFactoryInterface
{
    public function createUser(string $apiKey): UserInterface
    {
        // Tu lógica para crear o cargar el usuario desde la clave API
        return User::createFromApiKey($apiKey);
    }
}
  1. Le indicamos a Symfony que use estas clases como proveedores de usuarios en tu configuración de seguridad:
    iseazy_security:
        jwt_user_class: TaskBundle\Context\User\Domain\Entity\User
        api_key_user_class: TaskBundle\Context\User\Domain\Entity\ApiKeyUser

git tag -d v1.0.2 git push origin :refs/tags/v1.0.2 git tag -a v1.0.2 -m "Release v1.0.2" git push origin v1.0.2

统计信息

  • 总下载量: 123
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-08-25