Azure конвейер DevOps - ошибка аутентификации при попытке подключения к частному npm реестру - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь использовать пакет npm из частного репозитория, размещенного в другой организации Azure DevOps. Я получаю следующую ошибку на шаге npm install:

npm ERR! code E401
npm ERR! Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/2dfb2f0b-4d21-4268-9559-72926144c918, Basic realm="https://pkgsprodcus1.pkgs.visualstudio.com/", TFS-Federated

Файл моего проекта .npmr c выглядит следующим образом:

@{scope}:registry=https://pkgs.dev.azure.com/{ORG}/{PROJECT}/_packaging/{FEED}/npm/registry/
always-auth=true
strict-ssl=false

Я следовал документации при настройке токена PAT с разрешением «Чтение и запись в упаковке»

Я попытался подключиться, установив подключение к службе, которое не работало.

Я также пытался добавить учетные данные в файл проекта .npmr c, и это тоже не работает.

.npmr c файл с кредитами:

@{scope}:registry=https://pkgs.dev.azure.com/{ORG}/{PROJECT}/_packaging/{FEED}/npm/registry/
always-auth=true
strict-ssl=false

//pkgs.dev.azure.com/{ORG}/{PROJECT}/_packaging/{FEED}/npm/registry/:username=ANYTHING-BUT-EMPTY
//pkgs.dev.azure.com/{ORG}/{PROJECT}/_packaging/{FEED}/npm/registry/:_password=BASE64-ENCODED-PAT
//pkgs.dev.azure.com/{ORG}/{PROJECT}/_packaging/{FEED}/npm/registry/:email={EMAIL}
/pkgs.dev.azure.com/{ORG}/{PROJECT}/_packaging/{FEED}/npm/registry/:always-auth=true

Я много раз регенерировал PAT с разными областями действия, но ни одна из них не работала. (Я генерирую PAT из настроек пользователя -> Безопасность в Azure DevOps)

Я могу подключиться к каналу с моего локального компьютера, используя пакет vsts-npm-auth.

1 Ответ

0 голосов
/ 03 апреля 2020

Azure Трубопровод DevOps - ошибка аутентификации при попытке подключения к частному npm реестру

Согласно документу Настройка npmr c* 1006 вашего клиента *, нам нужно установить .npmrc, содержащий учетные данные в $home для Linux или Ma c систем или $env.HOME для win-систем на компьютере разработчика, вместо того, чтобы устанавливать его в файле проекта .npmr c .

На вашей машине разработки у вас также будет .npmr c в $ home для Linux или Ma c систем или $ env .HOME для выигрышных систем. Этот .npmr c должен содержать учетные данные для всех реестров, к которым необходимо подключиться . Клиент NPM будет просматривать .npmr c вашего проекта, обнаруживать реестр и извлекать соответствующие учетные данные из $ home / .npmr c или $ env.HOME / .npmr c. Получение учетных данных будет обсуждаться в следующем разделе.

И:

У вас должен быть спецификатор проекта c .npmr c, содержащий только информацию реестра вашего канала. что вы обнаружили в диалоговом окне «Подключение к каналу». В этом файле не должно быть учетных данных, а сам файл обычно находится рядом с пакетом вашего проекта. json.

Кроме того, если вы хотите использовать размещенный агент, вы можете использовать npm Аутентифицировать задание на сертификацию.

Надеюсь, это поможет.

...