dart pub token
dart pub token 子命令用於管理令牌儲存。在釋出包和檢索依賴項時,dart pub 命令使用令牌對第三方伺服器進行身份驗證。
它將這些令牌儲存在使用者範圍的配置目錄中。dart pub token 子命令有三個子命令:add、list 和remove。
dart pub 命令認為術語 credential、token、secret 和 secret token 可以互換使用。
憑據的使用場景
#考慮這樣一種情況:您的依賴項託管在私有倉庫上。當您使用 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.為所有會話新增憑據
#要在任何和所有終端會話以及指令碼中使用同一令牌,請將令牌儲存在環境變數中。
將您的令牌儲存在環境變數中。
請務必將令牌從 shell 歷史記錄中隱藏起來。要了解一種實現方法,請參閱 Medium 上的這篇帖子。
要使您新增的任何環境變數生效,請重啟所有開啟的控制檯。
要使用環境變數作為令牌,請使用
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 Actions 或 GitLab 的文件作為示例。
返回憑據列表
#要檢視所有活動憑據的列表,請使用 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.