内容

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 历史记录中隐藏。要探索一种这样做的方法,请参考 这篇文章

  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.