跳到主要內容

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.