scheb/two-factor-bundle
This bundle provides two-factor authentication for your
Symfony application.
ℹ️ The repository contains bundle versions 1-4, versions ≥ 5 are located in scheb/2fa.
It comes with the following two-factor authentication methods:
- TOTP authentication
- Google Authenticator
- Authentication code via email
Additional features you will like:
- Interface for custom two-factor authentication methods
- Trusted IPs
- Trusted devices (once passed, no more two-factor authentication on that device)
- Single-use backup codes for when you don't have access to the second factor device
- Multi-factor authentication (more than 2 steps)
- CSRF protection
- Whitelisted routes (accessible during two-factor authentication)
Installation
composer require scheb/two-factor-bundle
... and follow the installation instructions.
Documentation
Detailed documentation of all features can be found in the Resources/doc directory.
Version Guidance
Version | Status | Symfony Version |
1.x | EOL | >= 2.1, < 2.7 |
2.x | EOL | ^2.6, ^3.0, ^4.0 |
3.x | EOL | 3.4, ^4.0, ^5.0 |
4.x | Maintained | 3.4, ^4.0, ^5.0 |
5.x | Maintained | 4.4, ^5.0 |
Security
For information about the security policy and know security issues, see SECURITY.md.
Contributing
Want to contribute to this project? See CONTRIBUTING.md.
License
This bundle is available under the MIT license.
The MIT License (MIT)
Copyright (c) 2018 Christian Scheb
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright (c) 2018 Christian Scheb
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
Fix HTML element closing
By scheb, 7 months ago
-
Update .editorconfig and .gitattributes
By scheb, 7 months ago
-
PHP version constraint >=7.1.3 to allow PHP8
By scheb, 7 months ago
-
Fix mocking issue in PHPUnit 9.2
By scheb, 7 months ago
-
Use ignore-platform-reqs with nightly to build on PHP8
By scheb, 7 months ago
-
Set v5 maintained
By scheb, 7 months ago
-
Contributing section
By scheb, 7 months ago
-
Add SECURITY.md
By scheb, 7 months ago
-
Provide license in export
By scheb, 7 months ago
-
Support doctrine/persistence v2
By scheb, 7 months ago
-
Build on PHP nightly
By scheb, 7 months ago
-
Add test cases for PUBLIC_ACCESS
By scheb, 7 months ago
-
Add support for PUBLIC_ACCESS
By scheb, 7 months ago
-
Fix typo
By scheb, 7 months ago
-
Set all Psalm deprecation errors to info
By scheb, 7 months ago
-
Increase Psalm error level
By scheb, 7 months ago
-
Add cross-link to TOTP config
By scheb, 7 months ago
-
Note on routes and firewalls
By scheb, 7 months ago
-
Order of imports
By scheb, 7 months ago
-
fix documentation
By scheb, 7 months ago
-
Make PHP syntax highlighting work on GitHub
By scheb, 8 months ago
-
Add comments to avoid common mistakes
By scheb, 8 months ago
-
Link to create issue with support template
By scheb, 8 months ago
-
Add method to easily re-send the email with the authentication code
By scheb, 8 months ago
-
Update keywords
By scheb, 8 months ago
-
Add missing newline
By scheb, 8 months ago
-
Event dispatcher null is not supported
By scheb, 8 months ago
-
Add option to allow only POST requests to check_path
By scheb, 8 months ago
-
Use tabs consistently
By scheb, 8 months ago
-
Extract code into TrustedDeviceTokenEncoder
By scheb, 8 months ago