nuget.org protokolleri

nuget.org ile etkileşime geçmek için istemcilerin belirli protokolleri izlemesi gerekir. Bu protokoller gelişmeye devam ettiğinden istemcilerin belirli nuget.org API'leri çağırırken kullandıkları protokol sürümünü tanımlaması gerekir. Bu, nuget.org eski istemciler için hataya neden olmayan bir şekilde değişiklikler eklemesine olanak tanır.

Not

Bu sayfada belgelenen API'ler nuget.org özgüdür ve diğer NuGet sunucu uygulamalarının bu API'leri tanıtması için bir beklenti yoktur.

NuGet ekosistemi genelinde yaygın olarak uygulanan NuGet API'si hakkında bilgi için bkz. API'ye genel bakış.

Bu konu başlığı altında, çeşitli protokoller ve var olduklarında listelenir.

NuGet protokolü sürüm 4.1.0

4.1.0 protokolü, bir paketi nuget.org hesabıyla doğrulamak üzere nuget.org dışındaki hizmetlerle etkileşime geçmek için verify-scope anahtarlarının kullanımını belirtir. Sürüm numarasının 4.1.0 opak bir dize olduğunu ancak bu protokolü destekleyen resmi NuGet istemcisinin ilk sürümüyle aynı olduğunu unutmayın.

Doğrulama, kullanıcı tarafından oluşturulan API anahtarlarının yalnızca nuget.org ile kullanılmasını ve üçüncü taraf bir hizmetten yapılan diğer doğrulama veya doğrulamanın tek seferlik kullanımlı verify-scope anahtarları aracılığıyla işlenmesini sağlar. Bu doğrulama kapsamı anahtarları, paketin nuget.org belirli bir kullanıcıya (hesaba) ait olduğunu doğrulamak için kullanılabilir.

İstemci gereksinimi

İstemcilerin paketleri nuget.org göndermek için API çağrıları yaptıklarında aşağıdaki üst bilgiyi geçirmeleri gerekir:

X-NuGet-Protocol-Version: 4.1.0

Üst bilginin benzer semantiklere sahip olduğunu X-NuGet-Client-Version ancak yalnızca resmi NuGet istemcisi tarafından kullanılmak üzere ayrıldığını unutmayın. Üçüncü taraf istemciler üst bilgi ve değeri kullanmalıdır X-NuGet-Protocol-Version .

Gönderme protokollerinin kendisi kaynağın belgelerinde PackagePublish açıklanmıştır.

İstemci dış hizmetlerle etkileşim kurarsa ve paketin belirli bir kullanıcıya (hesaba) ait olup olmadığını doğrulaması gerekiyorsa, nuget.org API anahtarlarını değil aşağıdaki protokolü ve verify-scope anahtarlarını kullanmalıdır.

Doğrulama kapsamı anahtarı istemek için API

Bu API, nuget.org yazarın sahip olduğu bir paketi doğrulamak üzere bir verify-scope anahtarı almak için kullanılır.

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

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
Kimlik URL Dize evet Kapsam anahtarını doğrulamanın istendiği paket kimliği
VERSION URL Dize hayır Paket sürümü
X-NuGet-ApiKey Üst bilgi string evet Örneğin X-NuGet-ApiKey: {USER_API_KEY}

Response

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

Kapsam anahtarını doğrulama API'si

Bu API, nuget.org yazarının sahip olduğu paket için bir verify-scope anahtarını doğrulamak için kullanılır.

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

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
Kimlik URL Dize evet Kapsam anahtarını doğrulamanın istendiği paket tanımlayıcısı
VERSION URL Dize hayır Paket sürümü
X-NuGet-ApiKey Üst bilgi string evet Örneğin X-NuGet-ApiKey: {VERIFY_SCOPE_KEY}

Not

Bu doğrulama kapsamı API anahtarının süresi bir gün içinde veya ilk kullanımda (hangisi önce gerçekleşirse) sona erer.

Response

Durum Kodu Anlamı
200 API anahtarı geçerli
Kategori 403 API anahtarı geçersiz veya pakete gönderme yetkisi yok
404 ve VERSION (isteğe bağlı) tarafından ID başvuruda bulunılan paket yok