我应该如何使用人工访问令牌访问npm回购

Rob*_*ate 6 artifactory access-token npm

我想使用访问令牌从CI环境中发布和从人工npm回购中检索。我已经使用工件API创建了Bearer令牌,但是当我尝试将其用于.npmrc格式的访问时:

//mydomain.jrog.io/:_authToken=myveryverylongaccesstoken
registry=https://mydomain.jfrog.io/mydomain/api/npm/npm
Run Code Online (Sandbox Code Playgroud)

我总是收到401错误。

另外,尽管可能是一个不同的问题,但是如果我尝试使用具有实际工件凭证的npm login,则会得到响应:

adduser Incorrect username or password
npm WARN adduser You can reset your account by visiting:
npm WARN adduser 
npm WARN adduser     https://npmjs.org/forgot
npm WARN adduser 
npm ERR! code E403
npm ERR! forbidden No oauth npm default login configuration found: org.couchdb.user:myusername
Run Code Online (Sandbox Code Playgroud)

围绕访问令牌的人工文档明确表示这是设置访问令牌的一种用例,但是围绕npm repo alwyas设置的文档似乎暗示您需要一个真实的用户帐户,而没有提及访问令牌。 。

Arn*_*sen 13

您的人工版本是什么?

从5.4(也称为_authToken)开始仅支持“ npm登录”方式,因此,如果低于此级别,则唯一的机会就是使用BASIC身份验证(也称为_auth)进行身份验证。

基本身份验证非常容易设置,Artifactory提供了一个简单的入口点来帮助您设置.npmrc

启动以下命令(不要忘了用您要进行身份验证的Artifactory用户帐户替换user和encryption_password)

curl -u user:encrypted_password https://mydomain.jfrog.io/mydomain/api/npm/auth

它将输出类似

_auth = YourLongBasicAuthToken always-auth = true email = user@server.com

将这3行复制到您的.npmrc中,这应该可以正常工作...

  • 谢谢,这是我的问题:) (2认同)

pHi*_*HiL 8

要生成 的内容.npmrc,请使用现有用户(例如 admin)及其密码

curl -uadmin:<PASSWORD> http://<ARTIFACTORY_SERVER_DOMAIN>/artifactory/api/npm/auth

_auth之后您可以使用任何 Base64 编码替换/设置密钥username:ACCESS_TOKEN

对于作用域包,使用

curl -uadmin:<PASSWORD> http://<ARTIFACTORY_SERVER_DOMAIN>/artifactory/api/npm/npm-repo/auth/<SCOPE>

并使用任何用户和访问令牌设置..usernameand (base64).._password