1. 程式人生 > >[2018-05-27]配置VSTS認證方式使用Personal Access Token

[2018-05-27]配置VSTS認證方式使用Personal Access Token

如何 使用 ice 控制面板 img pes pin windows系統 用戶


本文介紹下如何配置VSTS(visual studio team service,其實就是微軟SaaS版的TFS)通過Personal Access Token訪問其下的Git代碼庫。

問題

使用git的時候,每次拉取和推送都需要輸入密碼是一件挺討厭的事。
當我們使用github來托管代碼時,github提供了幾套機制來認證客戶端,該配置頁面如下圖:

技術分享圖片

github的幫助文檔很完善,這裏就不展開了,具體參見截圖下方小字鏈接generating SSH keys或generate a GPG key and add it to your account。

如果你的項目是開源項目,放github上沒啥問題,如果需要不公開的私有庫呢?

我們一般選擇微軟的VSTS,那麽VSTS如何配置類似機制,避免每次都要輸入密碼?

獲取 Personal Access Token

技術分享圖片

如圖,Personal Access Token的配置頁面,點擊Add

技術分享圖片

填寫描述,選擇有效期限和適用哪個賬戶,選擇 scopes,頁面拉到底,點擊Create Token

技術分享圖片

這裏一定要註意了,圖中打碼並紅色圈住的部分,一定要復制下來保存好,這個token只會在當前顯示一次,以後是無法再次從vsts上獲取的。

在本機管理 Personal Access Token

好了,我們拿到了Personal Access Token,接下來驗證下是否可以正常使用這個token。

在本地打開一個目錄,按住Shift鍵,鼠標右擊空白處,選擇在此處打開Powershell窗口:

技術分享圖片

在vsts中找到你的代碼庫(至少會有個MyFirstProject),並且復制clone地址。在Powershell提示符中輸入

git clone https://familysrv.visualstudio.com/MyFirstProject/_git/MyFirstProject

如果出現新窗口要求輸入微軟賬號,可以直接關閉,我們接下來可以在命令行中輸入賬號和token

技術分享圖片

如上圖,命令行提示輸入Password的時候,輸入剛才拿到的Token即可。

至此,證明這個token確實是可用的。

可是當我們添加文件,推送上去的時候,還會提示需要輸入賬號密碼!?

請註意,本文示例前面進行git clone的時候有警告:這是一個空庫。
所以,首次git push進行推送的時候,需要聲明遠程分支,例git push orgin master:master

我們應該把這個token存到哪裏?

請打開控制面板用戶賬戶管理你的憑據windows憑據

技術分享圖片

在普通憑據的右側,點擊添加普通憑據,如圖進行輸入,密碼填之前拿到的token即可。

技術分享圖片

重新打開Powershell,添加或修改文件,拉取,推送

技術分享圖片

沒有再提示需要輸入賬號密碼,搞定!

如果你是非windows系統,VSTS也可以配置SSH keys的方式進行認證,和Github配置方式差不多,具體見本文第二張圖片VSTS左側菜單
SSH public keys

參考

這篇講了如何設置vsts的Personal Access Token 以及使用 Windows credentials manager 在本機存儲這個token:
VSTS Personal access tokens with Git and Visual Studio 2017

這裏有詳細說明非windows系統如何避免重復輸入Github認證密碼:
Is there a way to skip password typing when using https:// on GitHub?

[2018-05-27]配置VSTS認證方式使用Personal Access Token