Requiring 2FA for package publishing and settings modification
Table of contents
To protect your packages, as a package publisher, you can require everyone who has write access to a package to have two-factor authentication (2FA) enabled. This will require that users provide 2FA credentials in addition to their login token when they publish the package. For more information, see "Configuring two-factor authentication".
You may also choose to allow publishing with either two-factor authentication or with automation tokens. This lets you configure automation tokens in a CI/CD workflow, but requires two-factor authentication from interactive publishes.
Configuring two-factor authentication
- Log in to npm with your user account. 
- Navigate to the package on which you want to require a second factor to publish or modify settings. 
- Click Settings.  
- Under "Publishing access", select the requirements to publish a package. - Two-factor authentication is not required 
 With this option, a maintainer can publish a package or change the package settings whether they have two-factor authentication enabled or not. This is the least secure setting.
- Require two-factor authentication or automation tokens 
 With this option, maintainers must have two-factor authentication enabled for their account. If they publish a package interactively, using the- npm publishcommand, they will be required to enter 2FA credentials when they perform the publish. However, maintainers may also create an automation token and use that to publish. A second factor is not required when using an automation token, making it useful for continuous integration and continuous deployment workflows.
- Two-factor authentication only 
 With this option, a maintainer must have two-factor authentication enabled for their account, and they must publish interactively. Maintainers will be required to enter 2FA credentials when they perform the publish.
  
- Click Update Package Settings. 