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 jiným způsobem než zásadním způsobem 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, jako a kdy 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 ověření ze služby třetí strany se zpracovává prostřednictvím jednorázových klíčů 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 klienta

Klienti se vyžadují, aby při volání rozhraní API pro nabízení balíčků do nuget.org předávali následující hlavičku:

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 nabízených oznámení 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 V Typ Požaduje se Notes
ID URL string ano Identifikátor balíčku, pro který je požadován klíč oboru ověření
VERZE URL string ne Verze balíčku
X-NuGet-ApiKey Hlavička string ano Například X-NuGet-ApiKey: {USER_API_KEY}

Response

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

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

Toto rozhraní API slouží k ověření klíče oboru ověření pro balíček vlastněný autorem nuget.org.

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

Parametry požadavku

Název V Typ Požaduje se Notes
ID URL string ano Identifikátor balíčku, pro který je požadován klíč oboru ověření
VERZE URL string ne Verze balíčku
X-NuGet-ApiKey Hlavička string ano Například X-NuGet-ApiKey: {VERIFY_SCOPE_KEY}

Poznámka:

Toto ověření platnosti klíče rozhraní API oboru vyprší v denním čase nebo při prvním použití podle toho, co nastane dříve.

Response

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