使用token发布npm包

使用场景

在CI/CD自动化发布npm场景中,网上大部分文章采用的是npm cli命令方式输入账号密码,或者在.npmrc内置好账号密码,然后执行npm publish。这种方法可行, 但是不太安全,存在泄露账号的风险。所以本文讲述的是如何通过token这种安全的方式实现发包。

配置步骤

  1. 打开npm官网进行登录,进入你所要发布的那个包的详情界面,打开包的settings设置界面(需要再次输入密码),选择Require two-factor authentication or automation tokens,然后点击update package settings按钮保存设置

2.此时系统会询问是否要开启2FA(Two Factor Authentication)登录(已经开启2FA的用户不会出现这个界面),同意开启,2FA模式选择Authorization,然后点击提交

3.此时,界面会提示你,需要手机扫码,然后在输入框输入OTP码。我们可以在手机上下载authenticator这个app,然后用这个app进行扫码,之后app会生成一个OTP码。把这个码输入到刚才界面上的输入框里,再点击提交按钮开启2FA功能(开启成功后界面会出现几行字符串让你手动保存,这里就不截图了)。

4.接下来,在npm官网右上角点击自己的用户头像,选择Access Tokens,再点击Generate New Token按钮生成token(需要再次输入密码)。 然后创建Automation类型的token,token名称随意写,点击生成token。界面会返回一个token给你,记得手动保存一下token(因为离开界面后就再也看不到完整的token,需要重新生成)

5.完成上述步骤后,打开我们要发的包的代码库,在项目根目录创建.npmrc文件,写入以下代码:

registry=https://registry.npmjs.org/
//registry.npmjs.org/:always-auth=true
//registry.npmjs.org/:_authToken=xxxx // xxxx代表刚才我们生成的token

6.至此我们已完成了使用token发包的所有步骤。使用npm logout退出登录测试一下发布,然后输入npm publish,此时无需登录账号密码也能发布npm包(还省去了输入OTP码的麻烦)。以后发布包时只需要npm publish一条命令即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值