目录

dart pub token

dart pub token 子命令管理令牌存储。当发布包和检索依赖项时,dart pub 命令使用令牌向第三方服务器进行身份验证。

它将这些令牌存储在用户级配置目录中。dart pub token 子命令有三个子命令:addlistremove

dart pub 命令认为术语凭据令牌密钥密钥令牌是可互换的。

凭据的使用场景

#

考虑这样一种场景:您的 依赖项托管在私有存储库上。当您使用 dart pub get 命令时,它可能会返回一个提示,要求您提供凭据

$ 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

某些(但不是全部)服务器也会返回一条消息,其中包含有关如何获取令牌的说明。

添加新凭据

#

要创建新凭据,请使用 dart pub token add 命令。

为当前会话添加凭据

#

在提示符下,在命令行 (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.

为所有会话添加凭据

#

要在任何和所有终端会话以及脚本中使用相同的令牌,请将令牌存储在环境变量中。

  1. 将您的令牌存储在环境变量中。

    确保从您的 shell 历史记录中隐藏该令牌。要探索一种执行此操作的方法,请参阅这篇 Medium 上的文章

  2. 要启用您添加的任何环境变量,请重新启动任何打开的控制台。

  3. 要将环境变量用作令牌,请使用 dart pub token add 命令

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

    此命令读取存储在 $TOKEN_VAR 中的令牌,然后使用它向托管所需包的 hosted-url 进行身份验证。它应该在终端上打印以下响应。

    $ 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".

大多数 CI 环境可以将令牌注入到环境变量中。要了解如何操作,请查阅 GitHub ActionsGitLab 的文档作为示例。

返回凭据列表

#

要查看所有活动凭据的列表,请使用 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/

删除一个或多个凭据

#

要删除单个令牌,请使用 dart pub token remove 命令

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

要删除所有令牌,请使用带 remove --all 选项的上述命令

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