nuget.org-Protokolle
Für die Interaktion mit nuget.org müssen Clients bestimmte Protokolle befolgen. Da sich diese Protokolle ständig weiterentwickeln, müssen Clients die Protokollversion identifizieren, die sie beim Aufrufen bestimmter nuget.org-APIs verwenden. So kann nuget.org Änderungen einführen, ohne dass es für die alten Clients zu Unterbrechungen kommt.
Hinweis
Die auf dieser Seite dokumentierten APIs sind spezifisch für nuget.org. Es wird nicht erwartet, dass diese APIs in anderen NuGet-Serverimplementierungen eingeführt werden.
Informationen zur NuGet-API, die im gesamten NuGet-Ökosystem implementiert ist, finden Sie in der API-Übersicht.
In diesem Thema werden verschiedene Protokolle aufgelistet, sobald sie eingeführt werden.
NuGet-Protokollversion 4.1.0
Das 4.1.0-Protokoll gibt die Verwendung von Bereichsüberprüfungsschlüsseln für die Interaktion mit anderen Diensten als nuget.org an, um ein Paket anhand eines nuget.org-Kontos zu überprüfen. Beachten Sie, dass die Versionsnummer 4.1.0
eine nicht transparente Zeichenfolge ist, die zufällig mit der ersten Version des offiziellen NuGet-Clients übereinstimmt, der dieses Protokoll unterstützte.
Die Überprüfung stellt sicher, dass die vom Benutzer erstellten API-Schlüssel nur mit nuget.org verwendet werden und dass andere Verifizierungen oder Überprüfungen von einem Drittanbieterdienst über die einmalige Verwendung von Bereichsüberprüfungsschlüsseln durchgeführt werden. Anhand dieser Bereichsüberprüfungsschlüssel kann überprüft werden, ob das Paket zu einem bestimmten Benutzer (Konto) auf nuget.org gehört.
Clientanforderung
Clients müssen den folgenden Header übergeben, wenn sie API-Aufrufe zum Pushen von Paketen an nuget.org durchführen:
X-NuGet-Protocol-Version: 4.1.0
Beachten Sie, dass der Header X-NuGet-Client-Version
über eine ähnliche Semantik verfügt, aber nur für die Verwendung durch den offiziellen NuGet-Client reserviert ist. Drittanbieterclients sollten den X-NuGet-Protocol-Version
-Header und -Wert verwenden.
Das Pushprotokoll selbst wird in der Dokumentation für die PackagePublish
Ressource beschrieben.
Wenn ein Client mit externen Diensten interagiert und überprüfen muss, ob ein Paket zu einem bestimmten Benutzer (Konto) gehört, sollte er das folgende Protokoll verwenden und die Bereichsüberprüfungsschlüssel und nicht die API-Schlüssel aus nuget.org einsetzen.
API zum Anfordern eines Bereichsüberprüfungsschlüssels
Diese API wird zum Abrufen eines Bereichsüberprüfungsschlüssels für einen nuget.org-Autor verwendet, der ein eigenes Paket überprüfen möchte.
POST api/v2/package/create-verification-key/{ID}/{VERSION}
Anforderungsparameter
Name | Geben Sie in | type | Erforderlich | Hinweise |
---|---|---|---|---|
Kennung | URL | Zeichenfolge | ja | Der Paketbezeichner, für den der Bereichsüberprüfungsschlüssel angefordert wird. |
VERSION | URL | Zeichenfolge | Nein | Die Paketversion |
X-NuGet-ApiKey | Header | Zeichenfolge | ja | Beispiel: X-NuGet-ApiKey: {USER_API_KEY} |
Antwort
{
"Key": "{Verify scope key from nuget.org}",
"Expires": "{Date}"
}
API zum Überprüfen des Bereichsüberprüfungsschlüssels
Diese API wird verwendet, um einen Bereichsüberprüfungsschlüssel für das Paket zu überprüfen, das sich im Besitz des nuget.org-Autors befindet.
GET api/v2/verifykey/{ID}/{VERSION}
Anforderungsparameter
Name | Geben Sie in | type | Erforderlich | Hinweise |
---|---|---|---|---|
Kennung | URL | Zeichenfolge | ja | Der Paketbezeichner, für den der Bereichsüberprüfungsschlüssel angefordert wird |
VERSION | URL | Zeichenfolge | Nein | Die Paketversion |
X-NuGet-ApiKey | Header | Zeichenfolge | ja | Beispiel: X-NuGet-ApiKey: {VERIFY_SCOPE_KEY} |
Hinweis
Dieser API-Schlüssel zur Bereichsüberprüfung läuft innerhalb eines Tages oder bei der ersten Verwendung ab, je nachdem, was zuerst eintritt.
Antwort
Statuscode | Bedeutung |
---|---|
200 | Der API-Schlüssel ist gültig. |
403 | Der API-Schlüssel ist ungültig oder nicht zum Pushen für das Paket autorisiert. |
404 | Das von ID und VERSION (optional) referenzierte Paket ist nicht vorhanden. |