Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CircleCI上发布带有2FA的npm包?_Npm_Geometry_Circleci - Fatal编程技术网

在CircleCI上发布带有2FA的npm包?

在CircleCI上发布带有2FA的npm包?,npm,geometry,circleci,Npm,Geometry,Circleci,我有一些自动发布npm包的Circle工作流。有没有办法将双因素身份验证集成到该流程中 我设想所有的测试/构建步骤都将运行,然后在实际发布之前保持,并等待一次性代码输入。这可能吗?我刚刚测试了如何在NPMJ上使用2FA发布,正确发布的步骤如下: 在NPMJ上创建一个帐户并仅为auth启用2FA(不为发布启用2FA) 生成一个新令牌并复制它。我使用npm login命令来验证2FA 将令牌复制到CircleCI环境变量以保密,并将其从计算机中删除以仅为CircleCI保密 我不知道这是否是最好的过

我有一些自动发布npm包的Circle工作流。有没有办法将双因素身份验证集成到该流程中


我设想所有的测试/构建步骤都将运行,然后在实际发布之前保持,并等待一次性代码输入。这可能吗?

我刚刚测试了如何在NPMJ上使用2FA发布,正确发布的步骤如下:

  • 在NPMJ上创建一个帐户并仅为auth启用2FA(不为发布启用2FA)
  • 生成一个新令牌并复制它。我使用npm login命令来验证2FA
  • 将令牌复制到CircleCI环境变量以保密,并将其从计算机中删除以仅为CircleCI保密
  • 我不知道这是否是最好的过程,但这对我最近的令牌失效有效


    编辑:我在这里给出了我的示例repo,但为了不制造噪音,NPMJ已取消发布该包:

    如果您想使用更多的服务,这是可能的。使用自托管,当您为
    身份验证和写入启用2FA时,可以启用TOTP并存储npm CLI提供的密钥

    获得该信息后,您可以调用Vault服务器,向您提供发布所需的OTP,并将其提供给带有
    --OTP
    选项的
    npm publish
    命令


    有关更多详细信息,请阅读本文。本文给出了Travis的一个示例,但它应该应用于CircleCI,而不做任何重大更改。最大的区别应该是如何在配置中加密您的机密(npm令牌、Vault令牌等)。

    我不知道如何加密。有一个等待工作,但它只是一个按钮。我不知道你会如何添加任何输入。是的,我也在考虑这个问题。这将是一个很好的圈子要考虑的特点。注意:使用新的NPM.PKGGITHUB.com服务,你也有,这与2FA兼容。