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 add
command:$ dart pub token add <hosted-url> --env-var <TOKEN_VAR>
This command reads the token stored in
$TOKEN_VAR
then uses it to authenticate with thehosted-url
hosting the desired package. It should print the following response to the 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".
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.6.0. Page last updated on 2024-05-21. View source or report an issue.