目录

dart pub token

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

它将这些令牌存储在 用户范围的配置目录dart pub token 子命令具有三个子命令: addlistremove

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

凭据的使用案例

#

考虑一下您在私有仓库中托管 依赖项 的场景。当您使用 dart pub get 命令时,它 可能会 返回提示以提供凭据:

$ dart pub get
正在解析依赖项...
https://some-package-repo.com/my-org/my-repo 包仓库请求身份验证!
您可以使用以下命令提供凭据:
    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
输入密钥令牌:<在 stdin 上输入令牌>
对“https://some-package-repo.com/my-org/my-repo”的请求现在将使用密钥令牌进行身份验证。

为所有会话添加凭据

#

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

  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
    对“https://other-package-repo.com/”的请求现在将使用存储在环境变量“TOKEN_VAR”中的密钥令牌进行身份验证。

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

返回凭据列表

#

要查看所有活动凭据的列表,请使用 dart pub token list 命令:

$ dart pub token list
您有 2 个包仓库的密钥令牌:
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
已删除包仓库的密钥令牌:https://other-package-repo.com

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

$ dart pub token remove --all
pub-tokens.json 已删除。
已删除 1 个密钥令牌。