Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per interagire con nuget.org, i client devono seguire determinati protocolli. Poiché questi protocolli continuano a evolversi, i client devono identificare la versione del protocollo usata per chiamare API nuget.org specifiche. Questo permette a nuget.org di introdurre modifiche senza provocare interruzioni per i vecchi client di NuGet.
Annotazioni
Le API documentate in questa pagina sono specifiche per nuget.org e non ci sono aspettative per altre implementazioni del server NuGet per introdurre queste API.
Per informazioni sull'API NuGet implementata su vasta scala nell'ecosistema NuGet, vedere la panoramica dell'API.
In questo argomento vengono elencati i vari protocolli come e quando vengono esistenti.
Protocollo NuGet versione 4.1.0
Il protocollo 4.1.0 specifica l'utilizzo delle chiavi di ambito di verifica per interagire con i servizi diversi da nuget.org, per convalidare un pacchetto rispetto a un account nuget.org. Si noti che il 4.1.0 numero di versione è una stringa opaca, ma coincide con la prima versione del client NuGet ufficiale che supporta questo protocollo.
La convalida garantisce che le chiavi API create dall'utente vengano usate solo con nuget.org e che altre verifiche o convalide di un servizio di terze parti vengano gestite tramite chiavi di ambito di verifica monouso. Queste chiavi di ambito di verifica possono essere usate per verificare che il pacchetto appartenga a un determinato utente (account) in nuget.org.
Requisito client
I client devono passare l'intestazione seguente quando effettuano chiamate API per eseguire il push dei pacchetti a nuget.org:
X-NuGet-Protocol-Version: 4.1.0
Si noti che l'intestazione X-NuGet-Client-Version ha una semantica simile, ma è riservata solo all'uso da parte del client NuGet ufficiale. I client di terze parti devono usare l'intestazione X-NuGet-Protocol-Version e il valore.
Il protocollo push stesso è descritto nella documentazione per la PackagePublish risorsa.
Se un client interagisce con i servizi esterni e deve verificare se un pacchetto appartiene a un determinato utente (account), deve usare il protocollo seguente e usare le chiavi di ambito di verifica e non le chiavi API di nuget.org.
API per richiedere una chiave di ambito di verifica
Questa API viene usata per ottenere una chiave di ambito di verifica per un autore di nuget.org per convalidare un pacchetto di proprietà di lui/lei.
POST api/v2/package/create-verification-key/{ID}/{VERSION}
Parametri della richiesta
| Nome | In | TIPO | Obbligatorio | Note |
|---|---|---|---|---|
| Documento d'identità | URL | corda | yes | Identificatore del pacchetto per il quale è richiesta la chiave di ambito di verifica |
| VERSION | URL | corda | no | Versione del pacchetto |
| X-NuGet-ApiKey | Header | corda | yes | Ad esempio, X-NuGet-ApiKey: {USER_API_KEY} |
Risposta
{
"Key": "{Verify scope key from nuget.org}",
"Expires": "{Date}"
}
API per verificare la chiave di ambito di verifica
Questa API viene usata per convalidare una chiave di ambito di verifica per il pacchetto di proprietà dell'autore nuget.org.
GET api/v2/verifykey/{ID}/{VERSION}
Parametri della richiesta
| Nome | In | TIPO | Obbligatorio | Note |
|---|---|---|---|---|
| Documento d'identità | URL | corda | yes | Identificatore del pacchetto per il quale viene richiesta la chiave di ambito di verifica |
| VERSION | URL | corda | no | Versione del pacchetto |
| X-NuGet-ApiKey | Header | corda | yes | Ad esempio, X-NuGet-ApiKey: {VERIFY_SCOPE_KEY} |
Annotazioni
Questa chiave API di verifica dell'ambito scade entro un giorno o al primo utilizzo, a seconda di quale evento si verifica per primo.
Risposta
| Codice di stato | Meaning |
|---|---|
| 200 | La chiave API è valida |
| 403 | La chiave API non è valida o non è autorizzata a eseguire il push nel pacchetto |
| 404 | Il pacchetto a cui ID fa riferimento e VERSION (facoltativo) non esiste |