Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/markshust/magento2-module-disabletwofactorauth
The DisableTwoFactorAuth module provides the ability to disable two-factor authentication.
https://github.com/markshust/magento2-module-disabletwofactorauth
magento magento2 magento2-module
Last synced: 2 days ago
JSON representation
The DisableTwoFactorAuth module provides the ability to disable two-factor authentication.
- Host: GitHub
- URL: https://github.com/markshust/magento2-module-disabletwofactorauth
- Owner: markshust
- License: mit
- Created: 2020-08-10T11:51:08.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-20T21:29:46.000Z (3 months ago)
- Last Synced: 2024-11-02T00:32:44.288Z (7 days ago)
- Topics: magento, magento2, magento2-module
- Language: PHP
- Homepage:
- Size: 167 KB
- Stars: 202
- Watchers: 9
- Forks: 43
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
MarkShust_DisableTwoFactorAuth
## Table of contents
- [Summary](#summary)
- [Why](#why)
- [Installation](#installation)
- [Usage](#usage)
- [Credits](#credits)
- [License](#license)## Summary
With the release of Magento 2.4, two-factor authentication (also known as 2FA) became enabled by default, with no
ability to disable it in either the admin or console. However, there are situations which may require 2FA to be disabled
or temporarily turned off, such as within development or testing environments.This module automatically disables 2FA while in developer mode (since version 2.0.0), and adds the missing toggle to turn 2FA on or off from the admin for other environments. It does this by hooking into the core code in
a very seamless manner, just as would be done if this toggle existed in the core code. Installing this module should not
open any security holes, as it just works off of a simple config toggle which, if not present, falls back to the default
functionality.You can also toggle 2FA back on while in developer mode, if you need to test your code functionality while 2FA is enabled.
![Demo](https://raw.githubusercontent.com/markshust/magento2-module-disabletwofactorauth/master/docs/demo-2021-11-10.png)## Why
Why should you use this module? I hear all of the time that you can just disable Magento's 2FA module. There is a large inherent issue with doing this though.
When you disable a module, it updates the `app/etc/config.php` file with the removed module, which will eventually make its way upstream (accidentally committed to version control or unintendedly leaving your development environment). This will disable 2FA on staging/production, which is a big security concern. This module resolves this because you can keep it installed & enabled on dev/stage/prod, but control whether or not 2FA is enabled or disabled with configuration settings or environment variables. This means you can have it permanently disabled on dev, but have it permanently enabled in all other environments, all while keeping this module installed in all environments.
## Installation
```
composer require --dev markshust/magento2-module-disabletwofactorauth
bin/magento module:enable MarkShust_DisableTwoFactorAuth
bin/magento setup:upgrade
```## Usage
This module automatically disables 2FA in developer mode (since version 2.0.0). In any other deployment mode, 2FA is kept enabled by default. This is to prevent any unexpected side effects or security loopholes from
being introduced during automated installation processes.It is highly recommended to install this module as a dev dependency to avoid security warning reports from either Adobe Commerce or other production environments which run security checks. This can be done either by passing in the `--dev` flag when installing it with Composer, or by adding it to the `require-dev` property of your `composer.json` file.
### Disable 2FA
It may still be desirable to disable 2FA in non-production environments, such as within testing or internal staging environments. For these cases, 2FA is not automatically disabled. However, there are toggles to override the default Magento settings to disable 2FA within these environments.
You can also bypass 2FA for API token generation. This can be useful for third-party vendors during module development.
*NOTE: Always keep 2FA enabled within production environments for security purposes.*
#### 2FA
To disable 2FA, visit **Admin > Stores > Settings > Configuration > Security > 2FA** and set *Enable 2FA* to **No**.
CLI: `bin/magento config:set twofactorauth/general/enable 0`
#### 2FA for API Token Generation
To disable 2FA for API Token Generation, visit **Admin > Stores > Settings > Configuration > Security > 2FA** and set *Enable 2FA for API Token Generation* to **No**.
CLI: `bin/magento config:set twofactorauth/general/enable_for_api_token_generation 0`
### Enable 2FA in developer mode
This module automatically disables 2FA while developer mode is enabled, but there may be situations when you need 2FA enabled during development. Rather than needing to disable this module, you can just disable this configuration setting in the admin.
To enable 2FA while in developer mode, visit **Admin > Stores > Settings > Configuration > Security > 2FA** and set *Disable 2FA in Developer Mode* to **No**.
CLI: `bin/magento config:set twofactorauth/general/disable_in_developer_mode 0`
## Credits
### M.academy
This module is sponsored by M.academy, the simplest way to master Magento development.
### Mark Shust
My name is Mark Shust and I am a 6X Adobe Commerce Certified Developer and the founder of M.academy. Since the early days of Magento, I've been involved with many intricately complex eCommerce and open-source projects.
My passion is teaching and helping others learn Magento, and has created many courses and tutorials to help thousands of students from all over the world to learn and improve their Magento skills.
- 🖥️ Learn with Magento courses
- 📖 Read my technical articles
- 🔗 Connect on LinkedIn
- 🎥 Watch on YouTube
- 🐦 Follow me on X
- 💌 Contact me## License
[MIT](https://opensource.org/licenses/MIT)