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 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.
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.
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}
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} |
{
"Key": "{Verify scope key from nuget.org}",
"Expires": "{Date}"
}
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}
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.
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. |