Compartir a través de


protocolos de nuget.org

Para interactuar con nuget.org, los clientes deben seguir determinados protocolos. Dado que estos protocolos siguen evolucionando, los clientes deben identificar la versión del protocolo que usan al llamar a api de nuget.org específicas. Esto permite nuget.org introducir cambios de forma no importante para los clientes antiguos.

Nota:

Las API documentadas en esta página son específicas de nuget.org y no hay ninguna expectativa de que otras implementaciones del servidor NuGet introduzcan estas API.

Para obtener información sobre la API de NuGet implementada ampliamente en todo el ecosistema de NuGet, consulte la introducción a la API.

En este tema se enumeran varios protocolos como y cuándo llegan a existir.

Versión 4.1.0 del protocolo NuGet

El protocolo 4.1.0 especifica el uso de claves de ámbito de comprobación para interactuar con servicios distintos de nuget.org, para validar un paquete con una cuenta de nuget.org. Tenga en cuenta que el 4.1.0 número de versión es una cadena opaca, pero coincide con la primera versión del cliente de NuGet oficial que admitía este protocolo.

La validación garantiza que las claves de API creadas por el usuario solo se usen con nuget.org y que otra comprobación o validación de un servicio de terceros se controle a través de una clave de ámbito de verificación de un solo uso. Estas claves de ámbito de comprobación se pueden usar para validar que el paquete pertenece a un usuario determinado (cuenta) en nuget.org.

Requisito de cliente

Los clientes deben pasar el siguiente encabezado cuando realizan llamadas API para push paquetes de nuget.org:

X-NuGet-Protocol-Version: 4.1.0

Tenga en cuenta que el X-NuGet-Client-Version encabezado tiene una semántica similar, pero está reservada para que solo la use el cliente oficial de NuGet. Los clientes de terceros deben usar el encabezado y el X-NuGet-Protocol-Version valor.

El protocolo push se describe en la documentación del recurso .

Si un cliente interactúa con servicios externos y necesita validar si un paquete pertenece a un usuario determinado (cuenta), debe usar el siguiente protocolo y usar las claves de ámbito de comprobación y no las claves de API de nuget.org.

API para solicitar una clave de ámbito de comprobación

Esta API se usa para obtener una clave de ámbito de comprobación para un autor de nuget.org para validar un paquete propiedad de él/ella.

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

Parámetros de solicitud

Nombre In Tipo Obligatorio Notas
identificación URL cuerda / cadena Identificador del paquete para el que se solicita la clave de ámbito de comprobación
VERSION URL cuerda / cadena no La versión del paquete
X-NuGet-ApiKey Header cuerda / cadena Por ejemplo: X-NuGet-ApiKey: {USER_API_KEY}

Respuesta

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

API para comprobar la clave de ámbito de comprobación

Esta API se usa para validar una clave de ámbito de comprobación para el paquete propiedad del autor de nuget.org.

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

Parámetros de solicitud

Nombre In Tipo Obligatorio Notas
identificación URL cuerda / cadena Identificador de paquete para el que se solicita la clave de ámbito de comprobación.
VERSION URL cuerda / cadena no La versión del paquete
X-NuGet-ApiKey Header cuerda / cadena Por ejemplo: X-NuGet-ApiKey: {VERIFY_SCOPE_KEY}

Nota:

Esta clave API de verificación de ámbito expira en el transcurso de un día o en el primer uso, lo que ocurra primero.

Respuesta

Código de estado Meaning
200 La clave de API es válida
403 La clave de API no es válida o no está autorizada para insertar en el paquete.
404 El paquete al que hace referencia ID y, opcionalmente, VERSION, no existe