¿Cómo puedo añadir unas credenciales permanentes a un repositorio de NuGet?

Tenemos un repositorio privado de NuGet que utiliza Klondike como servidor. Lo hemos configurado para poder acceder de forma externa y con la autenticación de dominio.

Me gustaría no tener que introducir las crendenciales cada poco tiempo si no que las recordara de forma permanente. ¿Hay alguna forma de conseguirlo?

1 Respuesta

Respuesta
2

A través de la línes de comandos se pueden persistir las credenciales de acceso a un repositorio de NuGet de forma que no haya que introducirlas cada vez.

Estas credenciales se almacenan por defecto en %APPDATA%\Roaming\NuGet\NuGet.Config pero se puede especificar el fichero de configuración a utilizar.

El método básico sería, primero listar los repositorios remotos para saber cuáles hay configurados y cuál se quiere actualizar:

> Nuget sources

Después, elegir a qué fuente se le quieren añadir credenciales y ejecutar el siguiente comando:

> Nuget sources update -Name "Nombre del source" -UserName "usuario" -Password "password"

Esto persistirá de forma encriptada la contraseña asociada a esa fuente, de modo que NuGet pueda conectarse automáticamente.

Para usar un NuGet. Config personalizado (por ejemplo para distribuirlo junto a la solución con fuentes de paquetes diferentes de la estándar), hay que crear un nuevo fichero NuGet. Config en la ubicación que queremos con el siguiente contenido:

<?xml version="1.0" encoding="utf-8"?><configuration>  <packageSources>    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />  </packageSources></configuration>

Después, ir a la carpeta donde hemos creado este fichero y añadir nuestro repositorio de paquetes:

> Nuget sources add -Name "NombreRepo" -Source "URL del repositorio" -UserName "usuario" -Password "password" -ConfigFile NuGet. Config

Si queremos modificar el usuario y/o la contraseña:

> Nuget sources update -Name "NombreRepo" -UserName "usuario" -Password "password" -ConfigFile NuGet. Config

Si queremos compartir este fichero con sus credenciales, al estar encriptado con la clave privada de cada máquina no se va a poder, pero para ello existe la posibilidad de almacenar la clave en texto plano (cuidado dónde se guarda esta información...) con la opción -StorePasswordInClearText.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas