配置双重身份验证

您可以在您的 npm 用户账户上启用双重身份验证 (2FA),以防止未经授权访问您的账户和包,方法是使用 [security-key][webauthn] 或 [time-based one-time password (TOTP) ][top] 来自移动应用程序。

先决条件

在您的 npm 用户账户上启用 2FA 之前,您必须:

  • 将您的 npm 客户端更新到 5.5.1 或更高版本。
  • 要配置安全密钥,需要支持 [WebAuthn][can-i-use] 的现代浏览器。这将允许您配置生物识别设备,例如 Apple [Touch ID][touch-id]、[Face ID][face-id] 或 [Windows Hello][windows-hello] 以及物理键,例如 [ Yubikey][yubikey],[Thetis][thetis],或者[Feitian][feitian]。
  • 要配置 TOTP,您需要在移动设备上安装可以生成 OTP 的验证器应用程序,例如 [Authy][authy]、[Google Authenticator][google-authenticator] 或 [Microsoft Authenticator][microsoft-authenticator]。

有关支持的 2FA 方法的更多信息,请参阅 "[About two-factor authentication][about-two-factor-authentication]"。

注意:npm 不接受 SMS(文本到电话)作为 2FA 方法。

从网站配置 2FA

启用 2FA

  1. npxv2uCyKJZoxjUGp8f0erCVlDqBbUavf1nS2im4tyjrZlXaUmTPabM0+CMBXwVHhkUa6PZoqELaWk0ZXMKaVOd2mOYze5zzKisalGvosw6UL2Yz159UlWnYvB+3BcicCkRMsfIAmwhL5ZOoX8DdJol0eqeYc69wFi+vkWqmzMg=

  2. acwVa0cwidMtilYLDQIo7yL334CQ4JLLA4iXAAQoxZf8TVH2jR2aiHtaTtO6IE5D1tzC+13Og4OUJRH0SH2p/pfl237poieVDs7jVYbAkds=

  3. yolePStAbZXB8UAxlUxAOC9q8OW3hLT1pfaSmi7yFJaVgoPJSS5CG8MGHfBp4ypogejPZfvLSX+SIqfJBo4JquyIDDvZqfcmNeufLTXRpwI=

  4. 1Jr85VkRUxdiTOrxGZUzEXXQYX6Cdzti9BizSLs8xBwX5E1K4NvIaFAViuDI+fAlxsB4q8zjKMLc+uMbPt1yyzL2QDFEQyfGECioVCeJIjcIet9TgQ51T1NindnxHSCM

  5. wHIpywUlS3Wet0Tci0IrxnxxnfDsvjgbWkGrD2yWB3YmsXKGnaJlYPyTJpov/51nb6odhYkvzpEXFuImOfRT3ldf8E5Q6DJ7YeFMjaiY4lR1fY2tEXQ9o9VNHMiKtCFrkq8ciyWqPtQ8HtMOjYy8e7u3OOes7seQKSZR9BFM+N09POcOPe57BjTy1mFBsi+EmGG22LgTEiNnI5bZCDOiA+9rUiDFHiCMW2K8pBnwlEg8PRiUykFCRQNnww6VjoXuqE4w5GG2XtHIe9wQwkbNWA==

  1. 配置您选择的 2FA 方法:
    zuARWixfiCVL+7UIAQFoODZ6lSageVoFOeIhAJmRlZgW30OC5nmHs+zpwDiTOro6rg8EUQcUPhUeO4VSOWqpqilVYOv6Cl5qvkJiHVaND5p/sFPYWOG0p3Stnbz57zg3mY2wKwwasfSmRDE9T5bN8D155niCK4G3XJPR4lgQ2HxIuDlIkK0YJCwaiEEqzYhp

Dq7Nt0labecoO/ssG5YiOvVb2O+9jO7cuO9DsTWYzWh68sWTRfgzqwMj2s/2UQgOUPSfhj9w2Tk+rkeDctS4q4DZXqDVNTMYLNhfTItVCYk=

    EFtuGpFEnqkOPAhmdjGO63XAqPkD9YGmvWFLFKJwuv8mAcNtDgp5ZFa0nIwfNJkpucYn8pMKh5t/hzQmHuishdvaXjCdDiOXC4H6FT8t/fT8oIRvEPL5doD7HSiUD9GPGp6wDo8P0z9m0Cp1Q81q39vQyb0CzVjurYuYdqqioyLewy/czSS9/aZ3YTZl5uj4/ZUeVjcUKHlnd0uM00sU1cCyooPscthwz7/atoOE5zc=
  1. 3o54PJHlJCKWB5y3NbJNj9d+QxmAUIq0wV5CyfVTleBNFO1QWlnVZv9ECoJ5ShhxYuR7UY4NMbakpbu3P23qenBuE2oGRNo6htaKBFXE+gOfifTBX5T0O8HDUY6fpt0tyboDCsklLb0uVr/lJB7hFd2WKVB/bjkPUgDcI6xQk4sLPhx6p84APB6eYR0eVitRJzgdZCc/D4ObX9V8TVPzLA==

    C09UkPjireS43yTfi7JxKkavTK7TYbAsWXd/XC1Tl+QyeKqgDiXzfJ+dBVJbiMcntvNF7+dgEWzJKg9fXlevz49lBOXDfOEM2At45MdxM+hceGAdiyvPQDFQn0SAxexnkIoXJEMeFdltEoR6lyYIlH7aqaB6Ov+72Kug2f9pamnmFloCO49qKkqvM6+adSUuD6PdjiFZf1QD9WH94MKZ3eVP/WyAgVefWKAIowPxCFdLorf4Phpphz701bze4QpSVwvhfEEM/sCrdL8DK/QZ8bN5queDOR9mI8dM4r9oitPoWYF1ar2Gnt4HXZvKpTsmbsQAxDMWESKNRfAg48BiLuPvBVPvArZ9JDpTxPzZQFt50qCbXH2ZIADcFYbW+fBWN+20ispwUlBlVkxOK+5An7VWZLa+RXpEi4HM6OhRwDI9g+59xQsGErTm8ZjvoQXGV9XifHeN1UX1nGOWIHbvwUrwFGbQ6VQgleFqAFQuSQo2VZ4plsspkCB/Oy5vLCy+

  2. 4hU11YcmmMr07/wYaPwlUWcGiTgJNYqkLMy+nRAVuu0YPZuMjAysVflx92dKPLz62ZELahErtrw8O6eHisd/Gw==

禁用 2FA 写入

0DY6BLcnJSNoLS++okLFkb+QLRIeUzpumht9TRgrvVolzZfqbmFhG/ASiIFbKjejXrfAIfJ9/OjvyT+QGiSaWpw4J+rN0ys1n+vDppNGxGVsmuisn6J6XjSJDKGZVNqLcXdy8BJSMNuvswbVngWWJs9ryTLMg7/C6zQJfibuyzq+HpATwDdOq/Hf7WIgtnXX

VxQTM993AQcI2++JyTC7aFikGQdsxI1YJjTOL0Tz9GZKqFElLumNJ5EjVN7o4QHG0/TbwLP9kjdc2RApzo4YEqA10JD8/R2lpQwmBxawtSHD+2dvAPdJB0kTIwzkg3NYXRg+OyK9uiKk7G58vKV03x/rgDRnATdxRQ2pm+wgKE/JqwVZZ2eIkU7p7mJ4t+qqCoq4srDTzuQIi3d+pOSqmw==

  1. npxv2uCyKJZoxjUGp8f0erCVlDqBbUavf1nS2im4tyjrZlXaUmTPabM0+CMBXwVHhkUa6PZoqELaWk0ZXMKaVOd2mOYze5zzKisalGvosw6UL2Yz159UlWnYvB+3BcicCkRMsfIAmwhL5ZOoX8DdJol0eqeYc69wFi+vkWqmzMg=

  2. acwVa0cwidMtilYLDQIo7yL334CQ4JLLA4iXAAQoxZf8TVH2jR2aiHtaTtO6IE5D1tzC+13Og4OUJRH0SH2p/pfl237poieVDs7jVYbAkds=

  3. yolePStAbZXB8UAxlUxAOC9q8OW3hLT1pfaSmi7yFJaVgoPJSS5CG8MGHfBp4ypogejPZfvLSX+SIqfJBo4JqmCJWPPPj72pmunzAWf2PX0=

  4. rCICagmiFeca6TrOYp+Szk8HYWoADMasKsEf4rKkbd4MkVXLV2ACzs4IgtWfEDMLXd/k4XT8J5M4Mw7y/DWEdD/yv+kx9WsWLoyuuD923fk=

  5. 0jmkN8AKjiiYnOgJuALixew+ahGQnCb3I92CWZSAQAGBPDDUsbyvrAFgK93syzfUzYngywH20/vlii9JJDPylJal/YhRPVWLXroRXZN8iQaSnw0pjafhwdkpM9sScGHgFYVHLu9wodrfeAhO98m2XQ==

禁用 2FA

x2RkGQo+FLBRpzosXAGg3+QOBjUO490v/ZVLyRHdt9Qep2/vos01wMYCXpDT2JGTDnlptf/cMj36nwS0r3kOLtRFowj1+61tkdXAWC7ylgM=

1CEKr65jmpyKVy/buHaD0+dPkat2YGs1Ooh8IwTypEgC96MEsiaCDNz/AJBa+Hb8MiWXpwOYSobapghY3J1RL0+ojpzpfhd0/fE2uEQ170M2AeZm3ytCjnro2/OCePLtgyK23c0TM4oYcM5FaEf+Z15/zdzfiIxys6qsw01BdUrUhQZgiM+3tcKi7hZp2x//AXyr4G7Y8w1ouwENftyRDOLRQ69+ZcutVD2mq6qcLCHzTZc2+i5oIcG1xnJHXdm7

  1. npxv2uCyKJZoxjUGp8f0erCVlDqBbUavf1nS2im4tyjrZlXaUmTPabM0+CMBXwVHhkUa6PZoqELaWk0ZXMKaVOd2mOYze5zzKisalGvosw6UL2Yz159UlWnYvB+3BcicCkRMsfIAmwhL5ZOoX8DdJol0eqeYc69wFi+vkWqmzMg=

  2. acwVa0cwidMtilYLDQIo7yL334CQ4JLLA4iXAAQoxZf8TVH2jR2aiHtaTtO6IE5D1tzC+13Og4OUJRH0SH2p/pfl237poieVDs7jVYbAkds=

  3. yolePStAbZXB8UAxlUxAOC9q8OW3hLT1pfaSmi7yFJaVgoPJSS5CG8MGHfBp4ypogejPZfvLSX+SIqfJBo4JqmCJWPPPj72pmunzAWf2PX0=

  4. 3vj4nZxqKc7Tvi9wuiIRR6Z9vMN1JnrtdWVC0JpzwX5dZwvDUi+c4Umc+1DDFwdSGaFX3ZAYmyPH28gkOD/RzqcVmMtkYG9IorWq+2Hq85QpVjN2y6FeNWXq84n9sQKR

  5. 1rpV5WU2s6pPqwp/3xvgPstUdW+nNK40grIL+vpfE6o=

从命令行配置 2FA

从命令行启用 2FA

O4kTyLCIbJEEE1E258+PGsjDlIm5LLYruFNTLnSypnm02NAsfUouSZY5MKIy0iMoKDVy77Ma0/+AMesweVvGQ9MbYev5/L+4eHgYJtHeCsWZVfXZC+6asSdJZ2EkcwBtjYX1+Oxt48hCVMvWXb9kmzqesYU5LrmsZeZT07JRBIZEokZOyFUt/J2+DNnmDKt7FEf7jI6uTPqN/U6u/K4vpaaduuiiFb7QpdQasqJmz0y7pXo7VGrexzK0pAdI5nZDbAF/pYFl74jxn8kntlP5LoLtzSvxu5TyIU/rLouwHJg=

1CEKr65jmpyKVy/buHaD01nzKuYiKd0DSPMNlOsu8C35bdplHoF9u/RWeIFcWal2nZ9pWhZMrGHDiKmVQ2XyiAb8HDQLh9cUqn4hJI5ovGJHsf90KlFvxWPBN22Y8zjbGtDtMeI+o7/eqr6uQfgCUZXFkYMWbNi3HT82gG+UYgk=

  1. YMeamfXeKPwC7vG8tfSvM9T82Is/Z8zI1z0USba7wclRQQAe5jv2SN0nTYBrooBGJ3+qs/uZivL2gcyH7FjLXeYjJR7lzPIvv7ZZpemOae3+QJc6aCb+ttdQRmuOpqn0

  2. 1AouBj3YZ+02REXInC1aiJLbMP986Zz+6WhzEPIRoflkts4xP8e/qzQ5kXVzuLw9/5GqNYc3NKVtmOIFwxu4sgIyziTMV1Uf33pRNo6GDJ2Q3fDvEM0sS/jmczexB3PbGYou9ru7Md5FvnSCPKf4wf3x4rL/ns4Ve03FxdbmTCkP1Y/eCQZpvso8i1mell9fIzaeKKdUGZJlLUV+hAQAQA==

      PpNr3AojePbagh3MwjThlUfsyUewwxL/C27Cjkqk9to3Se2wvRm9MJkGQgvKWWxac4HymX27fEoKJ34tuN8EtoUtfHcYqZATiHGaF41llH3Rnx6shppW9eoVCrLGF9kXZZ5nogAy492wyLtBUlqJZS3PefKHbJsZgkld3f6vflBUVa/qaMa08ZrQxuEDHtAhd5LUluE0qUGZvQ5lw8k54jKRyATu7oDA6q0m/xk9i89BlTZ980uLTdnerRkMVdcrgaoIlHUSrD3VNVnvIhWP5g0w7tC5Ut9ikuHm0+BwX4XzIc+vBnHBkut8oT2T+TAajS48Z1EDrejKYWFFmnMICw==
  3. xUUKjIJFnHsoGdRKl/VyD26wsqs/qGL9VMdHNhno8XbgUEUhCdh5V4osyMWscpbHJHcqAOxcSAnF0ktqcNKdWFDvDN+G7hRAjEIhi4hBp3n5praxdDDV2pwDHJcQtaA1v/dguv8LnaDviU0MdHQw7g==

      zhUf4aJnnpT5f3eF9kZdO9asEPTPjcqgW26TaPTlamjRE1mlFj00+h6R6njp0Ob8hcxH8rLVitj6yytGRQz3ZnDwsrCfW6twb4L3HNhXw+eAxfvAB3mal3FBRJ9H/PpojNsxC8Gcjz3dKnuXoZeaNQ==
  4. szkEUrdAL3qkzon17UmGl2+Rp5eu9MYDG+WIx2Bfuw4jWc9gB6eTZRFGhMbAfMmPnr9eZovQXQzmOnTckzc00mxMC5Q+sTrdByl8aBi5f2kASVIKJuDuk4/L/LB6LpAEAB2ZLFqidYhd5hbAjRb9uwFy6gsTNmsjCO8jvyq17ek=

从命令行发送一次性密码

WQUxnstoagagsWop/IQwkq9KF5CPIxsCZmGUs8VZxOxBueWqteX5+4rMpTnv/69d6zP+q72e2IFKsQU1Ll4TDhXYZFrp4z0zW0Ufv/ieIRkLUqg7Fmz2aUP1X21NWUp42MOxGvcbg8HwCBU8TT4jLsZYecwnTZnrmzw0Tdgs69apL04Tm/HflRuUfszP2ba190ht6nUyODXFwaNNi6Z+vU6jhFdGGKfmd7AVpd0wAq6fgln8FGaV/elddfxPBfb8c/3rUyu0ORdmuI7rXsGwZrRWEDEICXcSNxLc7ldZTKvHDPv1tBHgu2MpSRdlO819AqHGqkrfHZzj3ziOFRlnjg==

npm publish [<tarball>|<folder>][--tag <tag>] --otp=123456
npm owner add <user > --otp=123456
npm owner rm <user> --otp=123456
npm dist-tags add <pkg>@<version> [<tag>] --otp=123456
npm access edit [<package>) --otp=123456
npm unpublish [<@scope>/]<pkg>[@<version>] --otp=123456

从命令行删除 2FA

  1. YMeamfXeKPwC7vG8tfSvM9T82Is/Z8zI1z0USba7wclRQQAe5jv2SN0nTYBrooBGJ3+qs/uZivL2gcyH7FjLXeYjJR7lzPIvv7ZZpemOae3+QJc6aCb+ttdQRmuOpqn0

  2. 1AouBj3YZ+02REXInC1aiBPAMySCWiEn2nFXR18rYSE+k5A6Y6P1ZT08D60ICLCv

    npm profile disable-2fa
    
  3. B0S9Lj4RMUt85le6azf/iJ92MsTC9mhod29FloTNbgvYSVhsXwLub9PAvVVEgIS5

    LzCn+tuWS3ZD7/SeJpP9sA==

  4. szkEUrdAL3qkzon17UmGlzNQWD+dEIz8iEDSqM0GlarSsn/pVsXcsO+Oxz7jXrQH7kzAQ1Kug7mDxgFbpAbm1OamxedG8u8Z3ixKYEP/SpdB9//TIWKVq+YhkmWiAPi+VwRzh0Q4rOGy3t3awZczsg==

    BJBziuUWomhJ7j+mjNbBV4EIvB36fQMhfdTSuIp2wPEnnH7w+BORCA2it2sWc7OieXvDdt6ymPyZAIyHSX2gxw==

配置帐户恢复选项

M7m6Ip70rFHtoLQbipCp2wuCLdlk4St0XIra8PD2yaiCEqIbDNCUAidRXd3yS0ZlmFwxzuWp7aMpGEHKTEFIiZr3rUgvytao6ineT9/i5SPLt+qfk80uBVsPDGezWq00CXsqyCgbXMPvp1h50o5Kzt9TI+w1d7eg1UUxtPaAhaBMm6IqVTFTn5igfAd6I7LTnpM3ECSX5Y7YLWfNUEAXFycjB8z/8+Ke5SkezOdP6eIWVvemBol+ZR5NoqMZbseZD15eQIW3m4HBQS44yBZlmJd/EU8e0LsLGxD6lrpFevvhUFn5LWQkfCEbC7uv6JK0uJWruBO7vaY3k8CQKAsCXWxKAFPjg5LBmznL21E9wDE=

  1. npxv2uCyKJZoxjUGp8f0erCVlDqBbUavf1nS2im4tyjrZlXaUmTPabM0+CMBXwVHhkUa6PZoqELaWk0ZXMKaVOd2mOYze5zzKisalGvosw6UL2Yz159UlWnYvB+3BcicCkRMsfIAmwhL5ZOoX8DdJol0eqeYc69wFi+vkWqmzMg=

  2. acwVa0cwidMtilYLDQIo7yL334CQ4JLLA4iXAAQoxZf8TVH2jR2aiHtaTtO6IE5D1tzC+13Og4OUJRH0SH2p/pfl237poieVDs7jVYbAkds=

  3. 9Jp3EQzrMBQ1/BgPFYDjlmbKapdIoetgNXdZANY5hOEIwv++dv8B+dr+gYsPZKuwFzvFoS8imyrZQjCjvwwDs86an+ajIhpsllR1o0zBG/WzAAcO+//TKMV4F1GIA4RkPN9AQkcUC3uTgWzFk9qKv9Tbgj66YEJRnSH6Ct6UVZPkqKD3c4CZ3Ng/c8DKTxY1x5Ptu+9JYUoB4LS/vHB6C9JIiNQhHW6TbIKjmwp3xrI=

  4. o48uHNUp7+S8VGmG29m7GIAaJ5FKSYJ66nuuq6TRyDW4hZaJL2sdlsVa+53Tv5o6432WZ5Dk7+H1JKvzvTYHBFykyg58nbDcAIdwEeEWCF5LN5R9rnPluTQmznwt+cgq

  5. ddG66bUQnZAYUjeqVT4pQ1LWd2/FiGfxWC0zSXbro3RFs6eMXBaSJyqMjP5C6uVpuIMRzEl23adRt3t3P5nZYabyC8X2dgd6OaILZqj5gdQJ33iNfa7DN0LmV3TrpJKjR7mCcC7DFsNDfnq+AocemmOKJysmwLHb2sTAjUX95iSlJjkk0bQSPwpdq8rKwVofy+uxpX8h/lcslMHvVkKdKVg/JnPPtpX7Y+OP33ijD+yQWcEwzLhJ+z/kI3Ckzco6

  6. o48uHNUp7+S8VGmG29m7GIAaJ5FKSYJ66nuuq6TRyDW4hZaJL2sdlsVa+53Tv5o6UUpmsysjlQqOGVNjJ/pP9YQ9MUjxJw/jBjV0Mlc5JmCvWOHWJfmZuFqscn6pfniD

zw/10E1A17Nm2d69SnHSfCPQFp/eSvaBZ3ocswf32Fg0MVZMh7QunNrUvR1yRgoaf95f9psuRCIak1PZ5LJxfzpeeyQtQ3W4FzSDcfNJfUC3XWBA/avJtKh2Wlc7WRHKbiZCUx13ChGtBD8YYOEki2mtE1t8XYI6LTWwRhaGW+X4NBNG58S09Ii+0WRk+PSF/GD8UanZn8cFQrPRyB4TZJ5kaHDhD2+jKxeiUyAJeMY=

解决 TOTP 错误

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