dart pub token
The dart pub token subcommand manages a store of tokens. When publishing packages and retrieving dependencies, the dart pub command uses tokens to authenticate against third-party servers.
It stores these tokens in a user-wide config directory. The dart pub token subcommand has three subcommands: add, list and remove.
The dart pub command considers the terms credential, token, secret, and secret token to be interchangeable.
Use case for credentials
# Consider a scenario when you have a dependency hosted on a private repository. When you use the dart pub get command, it might return a prompt to provide credentials:
$ 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 Some, but not all, servers also return a message with instructions as to how you can obtain a token.
Add a new credential
# To create a new credential, use the dart pub token add command.
Add a credential for the current session
#At the prompt, type the credential on the command line (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. Add a credential for all sessions
#To use the same token for any and all terminal sessions and in scripts, store the token in an environment variable.
-
Store your token in an environment variable.
Make sure to hide the token from your shell history. To explore one way of doing this, consult this post on Medium.
-
To enable any environment variables that you add, restart any open consoles.
-
To use an environment variable as a token, use the
dart pub token addcommand:console$ dart pub token add <hosted-url> --env-var <TOKEN_VAR>This command reads the token stored in
$TOKEN_VARthen uses it to authenticate with thehosted-urlhosting the desired package. It should print the following response to the terminal.console$ 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".
Most CI environments can inject tokens into an environment variable. To learn how, consult documentation for GitHub Actions or GitLab as examples.
Return a list of credentials
#To see a list of all active credentials, use the dart pub token list command:
$ 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/ Remove one or more credentials
#To remove a single token, use the dart pub token remove command:
$ dart pub token remove https://other-package-repo.com Removed secret token for package repository: https://other-package-repo.com To remove all tokens, use the preceding command with the remove --all option:
$ dart pub token remove --all pub-tokens.json is deleted. Removed 1 secret tokens. Unless stated otherwise, the documentation on this site reflects Dart 3.10.0. Page last updated on 2024-5-21. View source or report an issue.