Dela via


nuget.org protokoll

För att interagera med nuget.org måste klienterna följa vissa protokoll. Eftersom dessa protokoll fortsätter att utvecklas måste klienterna identifiera den protokollversion de använder när de anropar specifika nuget.org API:er. På så sätt kan nuget.org införa ändringar på ett icke-banbrytande sätt för de gamla klienterna.

Anmärkning

API:erna som dokumenteras på den här sidan är specifika för nuget.org och det finns inga förväntningar på att andra NuGet-serverimplementeringar ska introducera dessa API:er.

Information om NuGet-API:et som implementeras brett i NuGet-ekosystemet finns i API-översikten.

Det här avsnittet innehåller olika protokoll om och när de kommer till.

NuGet-protokollversion 4.1.0

4.1.0-protokollet anger användningen av verifierade omfångsnycklar för att interagera med andra tjänster än nuget.org för att verifiera ett paket mot ett nuget.org konto. Observera att 4.1.0 versionsnumret är en ogenomskinlig sträng men råkar sammanfalla med den första versionen av den officiella NuGet-klienten som stödde det här protokollet.

Validering säkerställer att de användarskapade API-nycklarna endast används med nuget.org och att annan verifiering eller validering från en tjänst från tredje part hanteras via en verifieringsomfångsnycklar för engångsanvändning. Dessa verifierade omfångsnycklar kan användas för att verifiera att paketet tillhör en viss användare (konto) på nuget.org.

Klientkrav

Klienter måste ange följande header när de gör API-anrop för att pusha paket till nuget.org.

X-NuGet-Protocol-Version: 4.1.0

Observera att X-NuGet-Client-Version rubriken har liknande semantik men är reserverad för att endast användas av den officiella NuGet-klienten. Klienter från tredje part bör använda X-NuGet-Protocol-Version rubrik och värde.

Själva push-protokollet beskrivs i dokumentationen för resursenPackagePublish.

Om en klient interagerar med externa tjänster och behöver verifiera om ett paket tillhör en viss användare (konto) bör den använda följande protokoll och använda nycklarna för verifieringsomfång och inte API-nycklarna från nuget.org.

API för att begära en nyckel för verifieringsomfång

Det här API:et används för att hämta en verifierad omfångsnyckel för en nuget.org författare för att verifiera ett paket som ägs av honom/henne.

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

Parametrar för begäran

Namn In Typ Krävs Noteringar
ID-nummer URL snöre yes Paketidentifieraren som verifieringsomfångsnyckeln begärs för
VERSION URL snöre no Paketversionen
X-NuGet-ApiKey Header snöre yes Till exempel: X-NuGet-ApiKey: {USER_API_KEY}

Svar

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

API för att verifiera verifieringsomfångsnyckeln

Det här API:et används för att validera en nyckel för verifieringsområde för paket som förvaltas av författaren på nuget.org.

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

Parametrar för begäran

Namn In Typ Krävs Noteringar
ID-nummer URL snöre yes Paketidentifieraren som verifieringsomfångsnyckeln begärs för
VERSION URL snöre no Paketversionen
X-NuGet-ApiKey Header snöre yes Till exempel: X-NuGet-ApiKey: {VERIFY_SCOPE_KEY}

Anmärkning

Den här api-nyckeln för verifieringsomfång upphör att gälla om en dag eller vid första användningen, beroende på vilket som inträffar först.

Svar

Statuskod Meaning
200 API-nyckeln är giltig
403 API-nyckeln är ogiltig eller har inte behörighet att skicka mot paketet
404 Paketet som avses av ID och VERSION (valfritt) finns inte