openfinancy/admin-security-component

Shared admin security stack (credentials, authenticator, provider) for OpenFinancy Symfony projects.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

pkg:composer/openfinancy/admin-security-component

dev-main / 1.x-dev 2025-11-11 15:52 UTC

This package is auto-updated.

Last update: 2025-11-12 07:00:39 UTC


README

CI

Shared Symfony security stack for OpenFinancy administration portals. The package bundles credential storage, composite credential providers, authenticator, user provider, setup redirect subscriber, and supporting form definitions under the OpenFinancy\Component\AdminSecurity namespace.

Installation

composer require openfinancy/admin-security-component:^0.1

Requirements:

  • PHP 8.4+
  • Symfony 7.1 components: Security, Form, Validator, Routing, HTTP Foundation/Kernel, Doctrine ORM bundle.

Highlights

  • AdminCredential Doctrine entity and repository for storing hashed admin credentials.
  • Composite credential provider chain (CompositeAdminCredentialProvider) combining database and default fallback providers.
  • AdminCredentialManager orchestrating setup, updates, and credential persistence.
  • Symfony security integration via AdminAuthenticator, AdminUserProvider, and AdminUser.
  • AdminSetupRedirectSubscriber enforcing setup flows until custom credentials are configured.
  • Reusable AdminCredentialType form for the setup wizard.

Quick Start

  1. Register the services in your Symfony app:
# config/services.yaml
OpenFinancy\Component\AdminSecurity\Security\AdminUserProvider:
    tags: ['security.user_provider']

OpenFinancy\Component\AdminSecurity\AdminCredentials\CompositeAdminCredentialProvider:
    arguments:
        $providers:
            - '@OpenFinancy\Component\AdminSecurity\AdminCredentials\DatabaseAdminCredentialProvider'
            - '@OpenFinancy\Component\AdminSecurity\AdminCredentials\DefaultAdminCredentialProvider'
  1. Configure security:
security:
    providers:
        admin_provider:
            id: OpenFinancy\Component\AdminSecurity\Security\AdminUserProvider
    firewalls:
        admin:
            pattern: ^/admin
            provider: admin_provider
            custom_authenticator: OpenFinancy\Component\AdminSecurity\Security\AdminAuthenticator
  1. Map the entity:
doctrine:
    orm:
        mappings:
            OpenFinancyAdminSecurity:
                type: attribute
                dir: '%kernel.project_dir%/vendor/openfinancy/admin-security-component/src/AdminSecurity/Entity'
                prefix: 'OpenFinancy\Component\AdminSecurity\Entity'

Development

Run quality tools locally:

composer analyse
composer lint
composer test

Documentation

  • CHANGELOG.md enumerates release history.
  • Tests provide concrete usage examples for the service container.

License

Released under the European Union Public Licence v1.2 (EUPL-1.2). See LICENSE for details.