draw / user-bundle
0.39.5
2026-03-02 21:54 UTC
Requires
- php: >=8.5
- ext-ctype: *
- ext-iconv: *
- doctrine/common: ^3.1
- doctrine/doctrine-bundle: ^2.5
- doctrine/orm: ^3.6
- draw/contracts: ^0.39
- draw/core: ^0.39
- ramsey/uuid: ^4.2
- symfony/framework-bundle: ^6.4.0
- symfony/security-core: ^6.4.0
- symfony/security-http: ^6.4.0
- symfony/yaml: ^6.4.0
Requires (Dev)
- draw/framework-extra-bundle: ^0.39
- draw/mailer: ^0.39
- draw/messenger: ^0.39
- draw/security: ^0.39
- draw/tester: ^0.39
- endroid/qr-code: ^6.0
- firebase/php-jwt: ^6.1
- phpunit/phpunit: ^11.3 || ^12.0
- scheb/2fa-bundle: ^7.6
- scheb/2fa-totp: ^7.6
Suggests
- draw/messenger: By using this bundle 'call to action' link will be generated. Other wise you need to do it by hand
- draw/post-office-bundle: This allow to write and send email via email writer services.
- endroid/qr-code: Use for the 2FA secret code generation using QR code
- firebase/php-jwt: Use for the jwt connection token system
- scheb/2fa-bundle: Use for the 2FA
- scheb/2fa-totp: Use to enable TOTP methdon for 2FA
This package is auto-updated.
Last update: 2026-06-06 19:57:58 UTC
README
Enable 2FA for admin
- Install and configure scheb/2fa-bundle
composer ruquire scheb/2fa-bundle scheb/2fa-totp scheb/2fa-qr-code
config/packages/scheb_2fa.yaml
scheb_two_factor: totp: enabled: true server_name: draw.example.com issuer: Draw template: '@DrawUser/security/2fa_login.html.twig' security_tokens: - Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken - Symfony\Component\Security\Guard\Token\PostAuthenticationGuardToken
config/routes/scheb_2fa.yaml
admin_2fa_login: path: /admin/2fa defaults: _controller: "scheb_two_factor.form_controller::form" admin_2fa_login_check: path: /admin/2fa_check
- Enable two-factor authentication per firewall and configure access_control for the 2fa routes: config/packages/security.yaml
security: firewalls: admin: two_factor: provider: app_user_provider_email # If you have more than one user provider auth_form_path: admin_2fa_login check_path: admin_2fa_login_check access_control: - { path: ^/admin/2fa, role: IS_AUTHENTICATED_2FA_IN_PROGRESS } - { path: ^/admin/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- Implements Draw\Bundle\UserBundle\Security\TwoFactorAuthenticationUserInterface and use \Draw\Bundle\UserBundle\Entity\TwoFactorAuthenticationUserTrait for User entity. Migrate database changes.
- Enable 2FA in DrawUserBundle.
draw_user: sonata: enabled: true user_admin_code: App\Sonata\Admin\UserAdmin 2fa: enabled: true field_positions: 2fa_enabled: #Those are the default list: '_action' #Before the _action list. Dynamically set to _actions for sonata 4.x form: true #at the end of the form
Two actions will be available when 2fa is enabled: 2fa-enable and 2fa-disable. The access right are configure via the TwoFactorAuthenticationExtension::getAccessMapping. You can override this by overriding the getAccess method of your UserAdmin class.