skrip42/stateless-secure-bundle

为你的无状态路由添加安全认证

安装: 10

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.5 2021-09-03 07:49 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:31 UTC


README

将安全令牌添加到你的无状态路由

安装

composer require skrip42/stateless-secure-bundle

然后向你的 routes.yaml 添加无状态令牌网关

#routes.yaml
stateless_secure:
  resource: '@StatelessSecureBundle/Resources/config/routes.yaml'

确保路由 'stateless_secure_get_token' 不可公开访问

配置你的 security.yaml

#security.yaml
security:
  providers:
    stateless_user_provider:
      id: Skrip42\StatelessSecureBundle\Security\UserProvider
  firewalls:
    stateless:
      anonymous: true
      stateless: true
      request_matcher: Skrip42\StatelessSecureBundle\RequestMatcher
      provider: stateless_user_provider
      guard:
        authenticators:
          - Skrip42\StatelessSecureBundle\Security\Authenticator

可选地重新声明你自己的缓存池

#cache.yaml

framework:
  cache:
    default_redis_provider: 'redis://redis:6379'
    pools:
      stateless_token.cache:
        adapter: cache.adapter.redis

用法

只需将注解 @StatelessSecure 添加到你的目标操作

    /**
     * @Route(
     *   "/some_path",
     *   name="some_name",
     *   stateless=true
     * )
     * @StatelessSecure
     */
    public function sameAction(Request $request) : Response
    {
        ...