diff --git a/composer.json b/composer.json index 70fd7488..0677c1d6 100644 --- a/composer.json +++ b/composer.json @@ -29,9 +29,11 @@ "omines/datatables-bundle": "^0.5.0", "php-translation/symfony-bundle": "^0.12.0", "phpdocumentor/reflection-docblock": "^5.2", - "r/u2f-two-factor-bundle": "^0.8.0", "s9e/text-formatter": "^2.1", - "scheb/two-factor-bundle": "^4.11", + "scheb/2fa-backup-code": "^5.13", + "scheb/2fa-bundle": "^5.13", + "scheb/2fa-google-authenticator": "^5.13", + "scheb/2fa-trusted-device": "^5.13", "sensio/framework-extra-bundle": "^6.1.1", "shivas/versioning-bundle": "^4.0", "symfony/apache-pack": "^1.0", diff --git a/composer.lock b/composer.lock index ed412e55..aca969d3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3599c75572b6f6a85032719ab3f122e4", + "content-hash": "5c3b75839d72914eca2152da433507d8", "packages": [ { "name": "beberlei/assert", @@ -4760,74 +4760,6 @@ }, "time": "2017-10-23T01:57:42+00:00" }, - { - "name": "r/u2f-two-factor-bundle", - "version": "0.8.0", - "source": { - "type": "git", - "url": "https://github.com/darookee/u2f-two-factor-bundle.git", - "reference": "36d8b6af1976b6959d32ccc9081c6ae7d842cf09" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/darookee/u2f-two-factor-bundle/zipball/36d8b6af1976b6959d32ccc9081c6ae7d842cf09", - "reference": "36d8b6af1976b6959d32ccc9081c6ae7d842cf09", - "shasum": "" - }, - "require": { - "doctrine/collections": "^1.6", - "doctrine/common": "*", - "ext-json": "*", - "php": "^7.1.3", - "scheb/two-factor-bundle": "^3.2.0|^4.0.0", - "symfony/event-dispatcher-contracts": "^2.0", - "symfony/framework-bundle": "^3.4|^4.0|^5.0", - "symfony/templating": "^3.4|^4.0|^5.0", - "yubico/u2flib-server": "^1.0.0" - }, - "conflict": { - "godzillante/u2f-two-factor-bundle": "*", - "tubssz/u2f-two-factor-bundle": "*" - }, - "require-dev": { - "phpstan/phpstan": "^0.11.6" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "R\\U2FTwoFactorBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Uliczka", - "email": "nils.uliczka@darookee.net" - }, - { - "name": "Francesco De Francesco", - "email": "francesco.defrancesco@gmail.com" - } - ], - "description": "Use U2F-Keys as 2FA for Symfony2, using scheb/two-factor-bundle", - "homepage": "https://github.com/darookee/u2f-two-factor-bundle", - "keywords": [ - "Authentication", - "Symfony2", - "fido", - "two-factor", - "two-step", - "yubikey" - ], - "support": { - "issues": "https://github.com/darookee/u2f-two-factor-bundle/issues", - "source": "https://github.com/darookee/u2f-two-factor-bundle/tree/master" - }, - "time": "2020-05-19T07:35:18+00:00" - }, { "name": "s9e/regexp-builder", "version": "1.4.6", @@ -5042,52 +4974,27 @@ "time": "2021-12-11T13:40:54+00:00" }, { - "name": "scheb/two-factor-bundle", - "version": "v4.18.4", + "name": "scheb/2fa-backup-code", + "version": "v5.13.2", "source": { "type": "git", - "url": "https://github.com/scheb/two-factor-bundle.git", - "reference": "78f5832d59ec49491ef27edc0fa03a3110139f5c" + "url": "https://github.com/scheb/2fa-backup-code.git", + "reference": "5584eb7a2c3deb80635c7173ad77858e51129c35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/78f5832d59ec49491ef27edc0fa03a3110139f5c", - "reference": "78f5832d59ec49491ef27edc0fa03a3110139f5c", + "url": "https://api.github.com/repos/scheb/2fa-backup-code/zipball/5584eb7a2c3deb80635c7173ad77858e51129c35", + "reference": "5584eb7a2c3deb80635c7173ad77858e51129c35", "shasum": "" }, "require": { - "lcobucci/jwt": "^3.2", - "paragonie/constant_time_encoding": "^2.2", - "php": ">=7.1.3", - "spomky-labs/otphp": "^9.1|^10.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^3.4|^4.0|^5.0", - "symfony/framework-bundle": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/http-kernel": "^3.4|^4.0|^5.0", - "symfony/property-access": "^3.4|^4.0|^5.0", - "symfony/security-bundle": "^3.4|^4.0|^5.0", - "symfony/twig-bundle": "^3.4|^4.0|^5.0" + "scheb/2fa-bundle": "self.version" }, - "require-dev": { - "doctrine/persistence": "^1.3|^2.0", - "escapestudios/symfony2-coding-standard": "^3.9", - "phpunit/phpunit": "^7.0|^8.0|^9.0", - "squizlabs/php_codesniffer": "^3.5", - "swiftmailer/swiftmailer": "^6.0", - "symfony/polyfill-php80": "^1.15", - "symfony/yaml": "^3.4|^4.0|^5.0", - "vimeo/psalm": "^3.11" - }, - "type": "symfony-bundle", + "type": "library", "autoload": { "psr-4": { "Scheb\\TwoFactorBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5099,8 +5006,77 @@ "email": "me@christianscheb.de" } ], - "description": "Provides two-factor authentication for Symfony applications", - "homepage": "https://github.com/scheb/two-factor-bundle", + "description": "Extends scheb/2fa-bundle with backup codes support", + "homepage": "https://github.com/scheb/2fa", + "keywords": [ + "2fa", + "Authentication", + "backup-codes", + "symfony", + "two-factor", + "two-step" + ], + "support": { + "source": "https://github.com/scheb/2fa-backup-code/tree/v5.13.2" + }, + "time": "2022-01-03T10:21:24+00:00" + }, + { + "name": "scheb/2fa-bundle", + "version": "v5.13.2", + "source": { + "type": "git", + "url": "https://github.com/scheb/2fa-bundle.git", + "reference": "dc575cc7bc94fa3a52b547698086f2ef015d2e81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scheb/2fa-bundle/zipball/dc575cc7bc94fa3a52b547698086f2ef015d2e81", + "reference": "dc575cc7bc94fa3a52b547698086f2ef015d2e81", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/framework-bundle": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.0", + "symfony/security-bundle": "^4.4.1|^5.0", + "symfony/twig-bundle": "^4.4|^5.0" + }, + "conflict": { + "scheb/two-factor-bundle": "*" + }, + "suggest": { + "scheb/2fa-backup-code": "Emergency codes when you have no access to other methods", + "scheb/2fa-email": "Send codes by email", + "scheb/2fa-google-authenticator": "Google Authenticator support", + "scheb/2fa-qr-code": "Generate QR codes for Google Authenticator / TOTP", + "scheb/2fa-totp": "Temporary one-time password (TOTP) support (Google Authenticator compatible)", + "scheb/2fa-trusted-device": "Trusted devices support" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Scheb\\TwoFactorBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Scheb", + "email": "me@christianscheb.de" + } + ], + "description": "A generic interface to implement two-factor authentication in Symfony applications", + "homepage": "https://github.com/scheb/2fa", "keywords": [ "2fa", "Authentication", @@ -5109,11 +5085,108 @@ "two-step" ], "support": { - "issues": "https://github.com/scheb/two-factor-bundle/issues", - "source": "https://github.com/scheb/two-factor-bundle/tree/v4.18.4" + "source": "https://github.com/scheb/2fa-bundle/tree/v5.13.2" }, - "abandoned": "scheb/2fa-bundle", - "time": "2020-10-30T19:24:18+00:00" + "time": "2022-04-16T10:18:34+00:00" + }, + { + "name": "scheb/2fa-google-authenticator", + "version": "v5.13.2", + "source": { + "type": "git", + "url": "https://github.com/scheb/2fa-google-authenticator.git", + "reference": "9477bfc47b5927fb165022dd75700aefdd45a8cc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scheb/2fa-google-authenticator/zipball/9477bfc47b5927fb165022dd75700aefdd45a8cc", + "reference": "9477bfc47b5927fb165022dd75700aefdd45a8cc", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^2.2", + "scheb/2fa-bundle": "self.version", + "spomky-labs/otphp": "^9.1|^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Scheb\\TwoFactorBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Scheb", + "email": "me@christianscheb.de" + } + ], + "description": "Extends scheb/2fa-bundle with two-factor authentication using Google Authenticator", + "homepage": "https://github.com/scheb/2fa", + "keywords": [ + "2fa", + "Authentication", + "google-authenticator", + "symfony", + "two-factor", + "two-step" + ], + "support": { + "source": "https://github.com/scheb/2fa-google-authenticator/tree/v5.13.2" + }, + "time": "2022-01-03T10:21:24+00:00" + }, + { + "name": "scheb/2fa-trusted-device", + "version": "v5.13.2", + "source": { + "type": "git", + "url": "https://github.com/scheb/2fa-trusted-device.git", + "reference": "acf5a1526eb2111fb7a82b9b52eb34b1ddfdc526" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scheb/2fa-trusted-device/zipball/acf5a1526eb2111fb7a82b9b52eb34b1ddfdc526", + "reference": "acf5a1526eb2111fb7a82b9b52eb34b1ddfdc526", + "shasum": "" + }, + "require": { + "lcobucci/jwt": "^3.4|^4.0", + "scheb/2fa-bundle": "self.version" + }, + "type": "library", + "autoload": { + "psr-4": { + "Scheb\\TwoFactorBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Scheb", + "email": "me@christianscheb.de" + } + ], + "description": "Extends scheb/2fa-bundle with trusted devices support", + "homepage": "https://github.com/scheb/2fa", + "keywords": [ + "2fa", + "Authentication", + "symfony", + "trusted-device", + "two-factor", + "two-step" + ], + "support": { + "source": "https://github.com/scheb/2fa-trusted-device/tree/v5.13.2" + }, + "time": "2022-01-03T10:21:24+00:00" }, { "name": "sensio/framework-extra-bundle", @@ -9882,74 +9955,6 @@ ], "time": "2022-07-24T16:15:25+00:00" }, - { - "name": "symfony/templating", - "version": "v5.4.11", - "source": { - "type": "git", - "url": "https://github.com/symfony/templating.git", - "reference": "3933eaad08c7f83672c53f635d7c3988252a658a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/templating/zipball/3933eaad08c7f83672c53f635d7c3988252a658a", - "reference": "3933eaad08c7f83672c53f635d7c3988252a658a", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" - }, - "require-dev": { - "psr/log": "^1|^2|^3" - }, - "suggest": { - "psr/log-implementation": "For using debug logging in loaders" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Templating\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides all the tools needed to build any kind of template system", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/templating/tree/v5.4.11" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-06-27T16:58:25+00:00" - }, { "name": "symfony/translation", "version": "v5.4.11", @@ -11931,48 +11936,6 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" - }, - { - "name": "yubico/u2flib-server", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/Yubico/php-u2flib-server.git", - "reference": "55d813acf68212ad2cadecde07551600d6971939" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Yubico/php-u2flib-server/zipball/55d813acf68212ad2cadecde07551600d6971939", - "reference": "55d813acf68212ad2cadecde07551600d6971939", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "paragonie/random_compat": ">= 1", - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "~5.7", - "vimeo/psalm": "^0|^1|^2" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "description": "Library for U2F implementation", - "homepage": "https://developers.yubico.com/php-u2flib-server", - "support": { - "issues": "https://github.com/Yubico/php-u2flib-server/issues", - "source": "https://github.com/Yubico/php-u2flib-server/tree/1.0.2" - }, - "abandoned": true, - "time": "2018-09-07T08:16:44+00:00" } ], "packages-dev": [ @@ -14270,16 +14233,16 @@ }, { "name": "symplify/easy-coding-standard", - "version": "11.1.2", + "version": "11.1.4", "source": { "type": "git", "url": "https://github.com/symplify/easy-coding-standard.git", - "reference": "4c01fcf17b7f60cff21ab91d62a729aa9737f726" + "reference": "d70ff73140ef96b1faa04c93fc57b2b1e9d6d8bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symplify/easy-coding-standard/zipball/4c01fcf17b7f60cff21ab91d62a729aa9737f726", - "reference": "4c01fcf17b7f60cff21ab91d62a729aa9737f726", + "url": "https://api.github.com/repos/symplify/easy-coding-standard/zipball/d70ff73140ef96b1faa04c93fc57b2b1e9d6d8bd", + "reference": "d70ff73140ef96b1faa04c93fc57b2b1e9d6d8bd", "shasum": "" }, "require": { @@ -14309,7 +14272,7 @@ ], "description": "Prefixed scoped version of ECS package", "support": { - "source": "https://github.com/symplify/easy-coding-standard/tree/11.1.2" + "source": "https://github.com/symplify/easy-coding-standard/tree/11.1.4" }, "funding": [ { @@ -14321,7 +14284,7 @@ "type": "github" } ], - "time": "2022-08-09T10:12:07+00:00" + "time": "2022-08-13T19:37:11+00:00" }, { "name": "vimeo/psalm", diff --git a/config/bundles.php b/config/bundles.php index e8da8562..29a988c6 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -19,10 +19,9 @@ return [ DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true], Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], Gregwar\CaptchaBundle\GregwarCaptchaBundle::class => ['all' => true], - Scheb\TwoFactorBundle\SchebTwoFactorBundle::class => ['all' => true], - R\U2FTwoFactorBundle\RU2FTwoFactorBundle::class => ['all' => true], Translation\Bundle\TranslationBundle::class => ['all' => true], Florianv\SwapBundle\FlorianvSwapBundle::class => ['all' => true], Nelmio\SecurityBundle\NelmioSecurityBundle::class => ['all' => true], Symfony\UX\Turbo\TurboBundle::class => ['all' => true], + Scheb\TwoFactorBundle\SchebTwoFactorBundle::class => ['all' => true], ]; diff --git a/config/packages/r_u2f_two_factor.yaml b/config/packages/r_u2f_two_factor.yaml index d3b962b2..9aa2cd2e 100644 --- a/config/packages/r_u2f_two_factor.yaml +++ b/config/packages/r_u2f_two_factor.yaml @@ -1,4 +1,4 @@ -ru2_f_two_factor: - formTemplate: "/security/U2F/u2f_login.html.twig" - registerTemplate: "/security/U2F/u2f_register.html.twig" - authCodeParameter: _auth_code \ No newline at end of file +#ru2_f_two_factor: +# formTemplate: "/security/U2F/u2f_login.html.twig" +# registerTemplate: "/security/U2F/u2f_register.html.twig" +# authCodeParameter: _auth_code \ No newline at end of file diff --git a/config/packages/scheb_2fa.yaml b/config/packages/scheb_2fa.yaml new file mode 100644 index 00000000..41aaee25 --- /dev/null +++ b/config/packages/scheb_2fa.yaml @@ -0,0 +1,19 @@ +# See the configuration reference at https://symfony.com/bundles/SchebTwoFactorBundle/5.x/configuration.html +scheb_two_factor: + + google: + enabled: true + template: security/2fa_form.html.twig + + backup_codes: + enabled: true + + trusted_device: + enabled: true + + security_tokens: + - Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken + # If you're using guard-based authentication, you have to use this one: + # - Symfony\Component\Security\Guard\Token\PostAuthenticationGuardToken + # If you're using authenticator-based security (introduced in Symfony 5.1), you have to use this one: + # - Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken diff --git a/config/packages/scheb_two_factor.yaml b/config/packages/scheb_two_factor.yaml deleted file mode 100644 index 3f34c9ce..00000000 --- a/config/packages/scheb_two_factor.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# See the configuration reference at https://github.com/scheb/two-factor-bundle/blob/master/Resources/doc/configuration.md -scheb_two_factor: - security_tokens: - - Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken - # If you're using guard-based authentication, you have to use this one: - # - Symfony\Component\Security\Guard\Token\PostAuthenticationGuardToken - - google: - enabled: true # If Google Authenticator should be enabled, default false - server_name: '%partdb.title%' # Server name used in QR code - issuer: 'Part-DB' # Issuer name used in QR code - digits: 6 # Number of digits in authentication code - window: 1 # How many codes before/after the current one would be accepted as valid - template: security/2fa_form.html.twig - - backup_codes: - enabled: true # If the backup code feature should be enabled - - trusted_device: - enabled: true # If the trusted device feature should be enabled - lifetime: 5184000 # Lifetime of the trusted device token - extend_lifetime: false # Automatically extend lifetime of the trusted cookie on re-login - cookie_name: trusted_device # Name of the trusted device cookie - cookie_secure: false # Set the 'Secure' (HTTPS Only) flag on the trusted device cookie - cookie_same_site: "lax" # The same-site option of the cookie, can be "lax" or "strict" \ No newline at end of file diff --git a/config/packages/security.yaml b/config/packages/security.yaml index cd50fc96..e4c3e3a7 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -23,7 +23,7 @@ security: two_factor: auth_form_path: 2fa_login check_path: 2fa_login_check - csrf_token_generator: security.csrf.token_manager + enable_csrf: true # activate different ways to authenticate diff --git a/config/routes/scheb_2fa.yaml b/config/routes/scheb_2fa.yaml new file mode 100644 index 00000000..17f89595 --- /dev/null +++ b/config/routes/scheb_2fa.yaml @@ -0,0 +1,7 @@ +2fa_login: + path: /{_locale}/2fa + defaults: + _controller: "scheb_two_factor.form_controller::form" + +2fa_login_check: + path: /{_locale}/2fa_check diff --git a/config/routes/scheb_two_factor.yaml b/config/routes/scheb_two_factor.yaml deleted file mode 100644 index 18482a5b..00000000 --- a/config/routes/scheb_two_factor.yaml +++ /dev/null @@ -1,11 +0,0 @@ -2fa_login: - path: /{_locale}/2fa - defaults: - _controller: "scheb_two_factor.form_controller:form" - -2fa_login_check: - path: /{_locale}/2fa_check - -r_u2f_register: - resource: "@RU2FTwoFactorBundle/Resources/config/routing.yml" - prefix: /{_locale}/user \ No newline at end of file diff --git a/src/Entity/UserSystem/U2FKey.php b/src/Entity/UserSystem/U2FKey.php index 000c062b..f3e7662c 100644 --- a/src/Entity/UserSystem/U2FKey.php +++ b/src/Entity/UserSystem/U2FKey.php @@ -56,7 +56,7 @@ use u2flib_server\Registration; * }) * @ORM\HasLifecycleCallbacks() */ -class U2FKey implements TwoFactorKeyInterface +class U2FKey /*implements TwoFactorKeyInterface*/ { use TimestampTrait; @@ -112,13 +112,13 @@ class U2FKey implements TwoFactorKeyInterface **/ protected $user; - public function fromRegistrationData(Registration $data): void + /*public function fromRegistrationData(Registration $data): void { $this->keyHandle = $data->keyHandle; $this->publicKey = $data->publicKey; $this->certificate = $data->certificate; $this->counter = $data->counter; - } + }*/ public function getKeyHandle() { diff --git a/src/Entity/UserSystem/User.php b/src/Entity/UserSystem/User.php index 3db3ff38..43c7570e 100644 --- a/src/Entity/UserSystem/User.php +++ b/src/Entity/UserSystem/User.php @@ -65,8 +65,8 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Exception; use function in_array; -use R\U2FTwoFactorBundle\Model\U2F\TwoFactorInterface as U2FTwoFactorInterface; -use R\U2FTwoFactorBundle\Model\U2F\TwoFactorKeyInterface; +//use R\U2FTwoFactorBundle\Model\U2F\TwoFactorInterface as U2FTwoFactorInterface; +//use R\U2FTwoFactorBundle\Model\U2F\TwoFactorKeyInterface; use Scheb\TwoFactorBundle\Model\BackupCodeInterface; use Scheb\TwoFactorBundle\Model\Google\TwoFactorInterface; use Scheb\TwoFactorBundle\Model\PreferredProviderInterface; @@ -84,7 +84,7 @@ use Symfony\Component\Validator\Constraints as Assert; * @ORM\EntityListeners({"App\EntityListeners\TreeCacheInvalidationListener"}) * @UniqueEntity("name", message="validator.user.username_already_used") */ -class User extends AttachmentContainingDBElement implements UserInterface, HasPermissionsInterface, TwoFactorInterface, BackupCodeInterface, TrustedDeviceInterface, U2FTwoFactorInterface, PreferredProviderInterface, PasswordAuthenticatedUserInterface +class User extends AttachmentContainingDBElement implements UserInterface, HasPermissionsInterface, TwoFactorInterface, BackupCodeInterface, TrustedDeviceInterface, /*U2FTwoFactorInterface,*/ PreferredProviderInterface, PasswordAuthenticatedUserInterface { //use MasterAttachmentTrait; diff --git a/src/Validator/Constraints/ValidGoogleAuthCodeValidator.php b/src/Validator/Constraints/ValidGoogleAuthCodeValidator.php index 8ef75d12..3e5dc11a 100644 --- a/src/Validator/Constraints/ValidGoogleAuthCodeValidator.php +++ b/src/Validator/Constraints/ValidGoogleAuthCodeValidator.php @@ -44,6 +44,7 @@ namespace App\Validator\Constraints; use App\Entity\UserSystem\User; use Scheb\TwoFactorBundle\Security\TwoFactor\Provider\Google\GoogleAuthenticator; +use Scheb\TwoFactorBundle\Security\TwoFactor\Provider\Google\GoogleAuthenticatorInterface; use Symfony\Component\Form\FormInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; @@ -54,7 +55,7 @@ class ValidGoogleAuthCodeValidator extends ConstraintValidator { protected $googleAuthenticator; - public function __construct(GoogleAuthenticator $googleAuthenticator) + public function __construct(GoogleAuthenticatorInterface $googleAuthenticator) { $this->googleAuthenticator = $googleAuthenticator; } diff --git a/symfony.lock b/symfony.lock index 961a7e39..9cc75984 100644 --- a/symfony.lock +++ b/symfony.lock @@ -185,9 +185,6 @@ "laminas/laminas-zendframework-bridge": { "version": "1.1.1" }, - "lcobucci/jwt": { - "version": "3.3.1" - }, "league/html-to-markdown": { "version": "4.8.2" }, @@ -261,9 +258,6 @@ "openlss/lib-array2xml": { "version": "1.0.0" }, - "paragonie/constant_time_encoding": { - "version": "v2.3.0" - }, "paragonie/random_compat": { "version": "v9.99.99" }, @@ -360,9 +354,6 @@ "psr/simple-cache": { "version": "1.0.1" }, - "r/u2f-two-factor-bundle": { - "version": "0.7.0" - }, "roave/security-advisories": { "version": "dev-master" }, @@ -378,17 +369,17 @@ "sabberworm/php-css-parser": { "version": "8.3.0" }, - "scheb/two-factor-bundle": { - "version": "3.16", + "scheb/2fa-bundle": { + "version": "5.13", "recipe": { - "repo": "github.com/symfony/recipes-contrib", - "branch": "master", - "version": "3.16", - "ref": "b5789cd9710e2ee555bf361079b991068a0f640b" + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "5.0", + "ref": "0a83961ef50ff91812b229a6f0caf28431d94aec" }, "files": [ - "./config/packages/scheb_two_factor.yaml", - "./config/routes/scheb_two_factor.yaml" + "./config/packages/scheb_2fa.yaml", + "./config/routes/scheb_2fa.yaml" ] }, "sebastian/diff": { @@ -409,9 +400,6 @@ "shivas/versioning-bundle": { "version": "3.1.3" }, - "spomky-labs/otphp": { - "version": "v9.1.4" - }, "symfony/apache-pack": { "version": "1.0", "recipe": { @@ -702,9 +690,6 @@ "symfony/string": { "version": "v5.1.0" }, - "symfony/templating": { - "version": "v4.3.4" - }, "symfony/translation": { "version": "5.3", "recipe": { @@ -805,9 +790,6 @@ "tecnickcom/tc-lib-color": { "version": "1.12.15" }, - "thecodingmachine/safe": { - "version": "v0.1.16" - }, "tijsverkoyen/css-to-inline-styles": { "version": "2.2.2" }, @@ -843,8 +825,5 @@ }, "webmozart/path-util": { "version": "2.3.0" - }, - "yubico/u2flib-server": { - "version": "1.0.2" } } diff --git a/templates/Users/_2fa_settings.html.twig b/templates/Users/_2fa_settings.html.twig index b6c1b114..bef391c9 100644 --- a/templates/Users/_2fa_settings.html.twig +++ b/templates/Users/_2fa_settings.html.twig @@ -143,7 +143,7 @@
{% trans %}tfa_u2f.no_keys_registered{% endtrans %}
{% endif %} - {% trans %}tfa_u2f.add_new_key{% endtrans %} + {# {% trans %}tfa_u2f.add_new_key{% endtrans %}#}