未配置JFrog凭证仍可拉取NPM包,此行为是否符合预期?
为什么未配置JFrog凭证仍能拉取NPM包?
你遇到的这种情况,核心原因是你配置的JFrog Artifactory NPM仓库开启了匿名可读权限,具体拆解如下:
- JFrog Artifactory允许管理员为仓库配置匿名访问策略,只要开启了「允许匿名用户读取仓库内容」的权限,未携带凭证的请求也能正常拉取包资源。
- 你执行的命令
npm config set registry https://artifcts.jfrog.io/artifactory/api/composer/npm-release-virtual只是将npm的默认源指向了这个JFrog仓库,而该仓库本身允许匿名访问,所以无需额外配置.npmrc凭证就能拉取。 - 额外可能性:如果这个JFrog仓库是代理型仓库(代理了npmjs.com等公共NPM源),那么即使仓库本身没有私有包,代理的公共源内容也会允许匿名拉取,这也会导致你无需凭证就能获取包。
需要注意的是,这种情况仅限于拉取公开/允许匿名访问的包,如果仓库中有私有包,后续拉取时还是会提示需要凭证认证。
内容的提问来源于stack exchange,提问作者Santosh Shinde
相关产品推荐
相关产品推荐

