Sdílet prostřednictvím


protokoly nuget.org

Aby mohli klienti pracovat s nuget.org, musí dodržovat určité protokoly. Vzhledem k tomu, že se tyto protokoly neustále vyvíjejí, musí klienti identifikovat verzi protokolu, kterou používají při volání konkrétních rozhraní API nuget.org. To umožňuje nuget.org zavést změny způsobem, který nezasahuje do funkčnosti, pro staré klienty.

Poznámka:

Rozhraní API zdokumentovaná na této stránce jsou specifická pro nuget.org a neočekává se, že by tato rozhraní API zavedla jiná implementace serverů NuGet.

Informace o rozhraní NuGet API implementované v celém ekosystému NuGet najdete v přehledu rozhraní API.

Toto téma uvádí různé protokoly, jakmile se objeví.

Protokol NuGet verze 4.1.0

Protokol 4.1.0 určuje použití klíčů rozsahu ověřování pro interakci se službami, které jsou jiné než nuget.org, k ověření balíčku vůči účtu nuget.org. Všimněte si, že 4.1.0 číslo verze je neprůhlený řetězec, ale stává se, že se shoduje s první verzí oficiálního klienta NuGet, který tento protokol podporoval.

Ověření zajišťuje, aby se klíče rozhraní API vytvořené uživatelem používaly pouze s nuget.org a že jiné ověření nebo validace ze služby třetí strany se zpracovává prostřednictvím klíčů pro jedno použití s ověřováním rozsahu. Tyto klíče oboru ověřování lze použít k ověření, že balíček patří konkrétnímu uživateli (účtu) v nuget.org.

Požadavek na klienta

Klienti musí předat následující hlavičku při volání rozhraní API pro push balíčky do nuget.org:

X-NuGet-Protocol-Version: 4.1.0

Všimněte si, že hlavička X-NuGet-Client-Version má podobnou sémantiku, ale je vyhrazena pouze pro použití oficiálním klientem NuGet. Klienti třetích stran by měli použít hlavičku X-NuGet-Protocol-Version a hodnotu.

Samotný protokol push je popsaný v dokumentaci k PackagePublish prostředku.

Pokud klient komunikuje s externími službami a potřebuje ověřit, jestli balíček patří určitému uživateli (účtu), měl by použít následující protokol a používat klíče oboru ověřování a ne klíče rozhraní API z nuget.org.

Rozhraní API pro vyžádání klíče oboru ověření

Toto rozhraní API slouží k získání klíče oboru ověření pro autora nuget.org k ověření balíčku, který vlastní.

POST api/v2/package/create-verification-key/{ID}/{VERSION}

Parametry požadavku

Název In Typ Povinné Poznámky
ID URL řetězec yes Identifikátor balíčku, pro který je požadován klíč oboru ověření
VERSION URL řetězec no Verze balíčku
X-NuGet-ApiKey Header řetězec yes Například X-NuGet-ApiKey: {USER_API_KEY}

Odezva

{
    "Key": "{Verify scope key from nuget.org}",
    "Expires": "{Date}"
}

Rozhraní API pro ověření klíče rozsahu

Toto rozhraní API se používá k validaci klíče pro ověření rozsahu u balíčku, který vlastní autor na nuget.org.

GET api/v2/verifykey/{ID}/{VERSION}

Parametry požadavku

Název In Typ Povinné Poznámky
ID URL řetězec yes Identifikátor balíčku, pro který je požadován klíč oboru ověření
VERSION URL řetězec no Verze balíčku
X-NuGet-ApiKey Header řetězec yes Například X-NuGet-ApiKey: {VERIFY_SCOPE_KEY}

Poznámka:

Ověřovací klíč rozhraní API vyprší za jeden den nebo při prvním použití, podle toho, co nastane dříve.

Odezva

Kód stavu Meaning
200 Klíč rozhraní API je platný.
403 Klíč rozhraní API je neplatný nebo nemá oprávnění k nahrání do balíčku.
404 Balíček, na který ID odkazuje, a VERSION (volitelné) neexistuje.