Protokol nuget.org
Untuk berinteraksi dengan nuget.org, klien harus mengikuti protokol tertentu. Karena protokol ini terus berkembang, klien harus mengidentifikasi versi protokol yang mereka gunakan saat memanggil API nuget.org tertentu. Ini memungkinkan nuget.org memperkenalkan perubahan dengan cara yang tidak melanggar untuk klien lama.
Catatan
API yang didokumenkan di halaman ini khusus untuk nuget.org dan tidak ada harapan untuk implementasi server NuGet lainnya untuk memperkenalkan API ini.
Untuk informasi tentang NUGet API yang diterapkan secara luas di seluruh ekosistem NuGet, lihat gambaran umum API.
Topik ini mencantumkan berbagai protokol sebagai dan kapan mereka muncul.
Protokol 4.1.0 menentukan penggunaan kunci cakupan verifikasi untuk berinteraksi dengan layanan selain nuget.org, untuk memvalidasi paket terhadap akun nuget.org. Perhatikan bahwa 4.1.0
nomor versi adalah string buram tetapi kebetulan bertepatan dengan versi pertama klien NuGet resmi yang mendukung protokol ini.
Validasi memastikan bahwa kunci API yang dibuat pengguna hanya digunakan dengan nuget.org, dan verifikasi atau validasi lain dari layanan pihak ketiga ditangani melalui kunci cakupan verifikasi penggunaan satu kali. Kunci cakupan verifikasi ini dapat digunakan untuk memvalidasi bahwa paket tersebut milik pengguna tertentu (akun) di nuget.org.
Klien diharuskan meneruskan header berikut saat mereka melakukan panggilan API untuk mendorong paket ke nuget.org:
X-NuGet-Protocol-Version: 4.1.0
Perhatikan bahwa X-NuGet-Client-Version
header memiliki semantik yang sama tetapi dicadangkan untuk hanya digunakan oleh klien NuGet resmi. Klien pihak ketiga harus menggunakan X-NuGet-Protocol-Version
header dan nilai.
Protokol push itu sendiri dijelaskan dalam dokumentasi untuk PackagePublish
sumber daya.
Jika klien berinteraksi dengan layanan eksternal dan perlu memvalidasi apakah paket milik pengguna tertentu (akun), klien harus menggunakan protokol berikut dan menggunakan kunci cakupan verifikasi dan bukan kunci API dari nuget.org.
API ini digunakan untuk mendapatkan kunci cakupan verifikasi bagi penulis nuget.org untuk memvalidasi paket yang dimiliki olehnya.
POST api/v2/package/create-verification-key/{ID}/{VERSION}
Nama | Dalam | Jenis | Diperlukan | Catatan |
---|---|---|---|---|
ID | URL | string | yes | Pengidentifikasi paket yang kunci cakupan verifikasinya diminta |
VERSION | URL | string | no | Versi paket |
X-NuGet-ApiKey | Header | string | yes | Misalnya: X-NuGet-ApiKey: {USER_API_KEY} |
{
"Key": "{Verify scope key from nuget.org}",
"Expires": "{Date}"
}
API ini digunakan untuk memvalidasi kunci cakupan verifikasi untuk paket yang dimiliki oleh penulis nuget.org.
GET api/v2/verifykey/{ID}/{VERSION}
Nama | Dalam | Jenis | Diperlukan | Catatan |
---|---|---|---|---|
ID | URL | string | yes | Pengidentifikasi paket yang kunci cakupan verifikasinya diminta |
VERSION | URL | string | no | Versi paket |
X-NuGet-ApiKey | Header | string | yes | Misalnya: X-NuGet-ApiKey: {VERIFY_SCOPE_KEY} |
Catatan
Ini memverifikasi cakupan kunci API kedaluwarsa dalam waktu sehari atau pada penggunaan pertama, mana pun yang terjadi terlebih dahulu.
Kode status | Makna |
---|---|
200 | Kunci API valid |
403 | Kunci API tidak valid atau tidak berwenang untuk mendorong terhadap paket |
404 | Paket yang dirujuk oleh ID dan VERSION (opsional) tidak ada |