Saltar al contenido principal

dart pub token

Administra los tokens de autenticación para los repositorios de paquetes.

El subcomando dart pub token administra un almacén de tokens. Al publicar paquetes y recuperar dependencias, el comando dart pub utiliza tokens para autenticarse frente a servidores de terceros.

Almacena estos tokens en un directorio de configuración del usuario. El subcomando dart pub token tiene tres subcomandos: add, list y remove.

El comando dart pub considera que los términos credential, token, secret, y secret token son intercambiables.

Caso de uso de credenciales

#

Considera un escenario en el que tienes una dependencia alojada en un repositorio privado. Cuando utilizas el comando dart pub get, podría aparecer un mensaje para proporcionar las credenciales:

dart pub get
Resolving dependencies...
https://some-package-repo.com/my-org/my-repo package repository requested authentication!
You can provide credentials using:
    dart pub token add https://some-package-repo.com/my-org/my-repo

Algunos servidores, aunque no todos, también devuelven un mensaje con instrucciones sobre cómo puedes obtener un token.

Agregar una nueva credencial

#

Para crear una nueva credencial, utiliza el comando dart pub token add.

Agregar una credencial para la sesión actual

#

Cuando se te solicite, escribe la credencial en la línea de comandos (stdin).

dart pub token add https://some-package-repo.com/my-org/my-repo
Enter secret token: <Type token on stdin>
 Requests to "https://some-package-repo.com/my-org/my-repo" will now be
 authenticated using the secret token.

Agregar una credencial para todas las sesiones

#

Para usar el mismo token en todas y cada una de las sesiones de terminal y en scripts, almacena el token en una variable de entorno.

  1. Almacena tu token en una variable de entorno.

    Asegúrate de ocultar el token del historial de tu consola. Para explorar una forma de hacerlo, consulta este post en Medium.

  2. Para habilitar las variables de entorno que agregues, reinicia cualquier consola abierta.

  3. Para utilizar una variable de entorno como token, utiliza el comando dart pub token add:

    dart pub token add <hosted-url> --env-var <TOKEN_VAR>
    

    Este comando lee el token almacenado en $TOKEN_VAR y luego lo utiliza para autenticarse con la hosted-url que aloja el paquete deseado. Debería imprimir la siguiente respuesta en la terminal.

    dart pub token add https://other-package-repo.com/ --env-var TOKEN_VAR
    Requests to "https://other-package-repo.com/" will now be authenticated using the secret token stored in the environment variable "TOKEN_VAR".
    

La mayoría de los entornos de CI pueden inyectar tokens en una variable de entorno. Para aprender cómo, consulta la documentación de GitHub Actions o GitLab como ejemplos.

Devolver una lista de credenciales

#

Para ver una lista de todas las credenciales activas, utiliza el comando dart pub token list:

dart pub token list
You have secret tokens for 2 package repositories:
https://some-package-repo.com/my-org/my-repo
https://other-package-repo.com/

Eliminar una o más credenciales

#

Para eliminar un solo token, utiliza el comando dart pub token remove:

dart pub token remove https://other-package-repo.com
Removed secret token for package repository: https://other-package-repo.com

Para eliminar todos los tokens, utiliza el comando anterior con la opción remove --all:

dart pub token remove --all
pub-tokens.json is deleted.
Removed 1 secret tokens.