Реестр активов ProGet не распознает ключ API

Я пытаюсь создать подкаталоги в ProGet Asset Directory перед загрузкой файлов. В документации говорится, что каталоги ресурсов рассматриваются как каналы, что я могу подтвердить с помощью сообщений об ошибках (измените имя каталога верхнего уровня на несуществующее, и я получу соответствующее сообщение об ошибке «Канал не существует»). Однако, когда я пытаюсь создать подкаталог, он, похоже, не учитывает ключ API и вместо этого сообщает как анонимный пользователь. Я попытался передать ключ по URL-адресу и установить как заголовок X-ApiKey, так и заголовок X-NUGET-APIKEY.

Фрагмент PowerShell (вы увидите, что я устанавливаю его всеми способами, описанными в документации — я также пробовал каждый вариант по отдельности):

$DirectoryEndpoint = "$Server/endpoints/$AssetDirectoryName/dir/$AssetDirectoryPath" +"?key=$ApiKey"

Write-Output $DirectoryEndpoint

$headers = @{
  'X-NUGET-APIKEY' = $ApiKey
  'X-ApiKey' = $ApiKey
}

#Create the directory (if exists will do nothing)
Invoke-RestMethod -Method 'Post' -Uri $DirectoryEndpoint -Headers $headers -Body @{} 

В результате появляется сообщение об ошибке:

Invoke-RestMethod : Anonymous is not permitted to perform the Feeds_AddPackage task for the current scope.

Я также пытался добавить анонимного пользователя в группу администраторов, и ключ API имеет права на все. Я попытался заменить ключ API для всех заголовков и в строке запроса на формат имени пользователя: пароль, но это приводит к той же ошибке.

Я проверил правильность и корректность заголовков и URL-адресов с помощью веб-прокси.

Документация по ProGet API не очень хороша... нет примеров использования фрагментов.

Кто-нибудь знает, что я делаю неправильно? Почему ProGet не идентифицирует мой ключ API или моего пользователя?


person BlackSpy    schedule 26.09.2019    source источник


Ответы (1)


Это должно работать как есть. Я зарегистрировал ошибку, чтобы исправить это для следующего выпуска обслуживания, в идеале с исправлением, доступным раньше (доступно в соответствующем выпуске PG-1597).

person John Rasch    schedule 26.09.2019
comment
Спасибо @JohnRasch. Ты быстро становишься моим героем ProGet! - person BlackSpy; 27.09.2019