anzusystems / auth-bundle
Anzu authorization services
Installs: 5 339
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 6
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.2
- ext-json: *
- ext-redis: *
- anzusystems/common-bundle: ^7.0|^8.0
- doctrine/common: ^3.3
- lcobucci/jwt: ^4.2
Requires (Dev)
- doctrine/orm: ^2.13|^3.0
- nelmio/api-doc-bundle: ^4.9
- slevomat/coding-standard: ^8.5
- symfony/test-pack: ^1.0
- symplify/easy-coding-standard: ^11.1
- vimeo/psalm: ^5.0
README
Provides authorization functionality among Anzusystems' projects.
Installation
From within container execute the following command to download the latest version of the bundle:
$ composer require anzusystems/auth-bundle --no-scripts
Step 3: Use the Bundle
Configure the AnzuAuthBundle
in config/anzu_systems_auth.yaml
:
anzu_systems_auth: cookie: domain: .anzusystems.localhost secure: false # use true for PROD environment! jwt: audience: anz algorithm: ES256 # enum (ES256|RS256), default "ES256" public_cert: '%env(base64:AUTH_JWT_PUBLIC_CERT)%' # string representation of a public certificate private_cert: '%env(base64:AUTH_JWT_PRIVATE_CERT)%' # string representation of a private certificate authorization: enabled: true refresh_token: storage: redis: service_id: SharedTokenStorageRedis # service id of \Redis instance auth_redirect_default_url: http://admin-dam.anzusystems.localhost auth_redirect_query_url_allowed_pattern: '^https?://(.*)\.anzusystems\.localhost(:\d{2,5})$' type: json_credentials
Configure the SecurityBundle in config/security.yaml
:
security: providers: app_user_provider_email: entity: class: App\Entity\User property: email auth: pattern: ^/api/auth/ stateless: true provider: app_user_provider_email json_login: check_path: auth_login success_handler: AnzuSystems\AuthBundle\Security\AuthenticationSuccessHandler failure_handler: AnzuSystems\AuthBundle\Security\AuthenticationFailureHandler logout: path: auth_logout access_control: - { path: ^/api/auth/, roles: PUBLIC_ACCESS }
Configure routing:
$routes ->import('@AnzuSystemsAuthBundle/Controller/Api/JsonCredentialsAuthController.php', type: 'attribute') ->prefix('/api/auth/');