Why is npm getting rid of TOTP as 2FA authentication method? #178148
Replies: 5 comments 3 replies
-
|
Hi @prahladyeri , The main reason npm is phasing out TOTP is security. FIDO/WebAuthn (like hardware keys or passkeys) are phishing-resistant the private key never leaves your device and authentication is bound to the site’s domain, so it can’t be reused elsewhere. That said, many developers share your concern about accessibility especially those on Linux or open-source browsers. |
Beta Was this translation helpful? Give feedback.
-
|
FYI: There is a community thread for this topic here: https://github.com/orgs/community/discussions/174505 (consider upvoting) GitHub recently posted an update on their plans here: https://github.com/orgs/community/discussions/178140 |
Beta Was this translation helpful? Give feedback.
-
|
That the only 2FA method npm provides to users now are hardware keys is a HUGE security issue and achieves the opposite of the intended effect. Way fewer people are willing to use that... |
Beta Was this translation helpful? Give feedback.
-
|
That the only 2FA method npm provides to users now are hardware keys is a HUGE security issue and achieves the opposite of the intended effect. Way fewer people are willing to use that... |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the question! npm is moving away from TOTP primarily due to security concerns and not because of any preference toward proprietary or “closed” systems. TOTP codes can be phished or intercepted, especially during targeted supply-chain attacks. Attackers can trick users into entering their one-time codes on fake sites, or capture them in real time and immediately reuse them. For a large package ecosystem like npm, this risk is significant because account compromise can lead to widespread malicious package publication. FIDO/WebAuthn-based 2FA provides strong protection against these attacks. These methods are phishing-resistant, since authentication is bound to the legitimate domain and the private key never leaves the user’s device. This is why many ecosystems (npm, GitHub, Google, GitLab, etc.) are standardizing around them. Regarding accessibility: To summarize: Why phase out TOTP? It’s still better than nothing, but it’s vulnerable to phishing and real-time interception. Why WebAuthn/FIDO? They are phishing-resistant, more secure for a large software registry, and now broadly supported across platforms. Accessibility? The shift isn’t intended to exclude users; compatibility on Linux and open-source browsers is supported and continually improving. Hope this helps clarify the reasoning behind the transition! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Question
Body
I've been aghast to know that
npmis now phasing out TOTP as a legitimate 2FA method of authentication and replacing it with more intrusive and authoritarian methods like FIDO and Webauthn.It's a bit perplexing that an organization that apparently stands up for Open Source as a way of life would introduce such a closed and walled garden approach of authentication which may not be accessible to everyone. Those on Linux Desktops such as Mint or Fedora, or those using an open source browser like Firefox, may not have access to these chosen new 2FA methods.
I'd also like to know what exactly is the issue with TOTP as an authentication system, what do the proponents of this new system think is wrong with it?
Beta Was this translation helpful? Give feedback.
All reactions