最近因為公司security policy的改變,所以強迫每個使用公司GitHubb EE的人要用2FA做兩段式帳號登入,而過去因為只需要帳號密碼就可以讓Source Tree也通過GitHub的驗證取得repo的資料,如今多了2FA要如何讓Source Tree依然可以登入GitHub呢?

  這確實給我帶來小小的困擾,不過了解了一番GitHub提供第三方軟體驗證2FA Enabled帳號的方法之後,我著實學到了新的一課:"原來想提供第三方軟體通過自己的Service2FA驗證還可以這樣用阿!"是怎樣的一個用法呢?答案是在自己的服務提供代表2FA enabled accountAPI token給第三方軟體,弟三方軟體不再是使用帳號密碼來通過GitHub驗證,而是"帳號+API Token"。

  而Source Tree正是這樣做的!因此我們第一步得到自己的GitHub帳號下建立一組API Token,這個Token在建出來時要馬上寄存下來不要弄丟,因為API Token只會在建好的那一刻出現,之後任誰(包括自己在內都看不到)

  在GitHub建立Token的步驟:

  1. 登入GitHub
  2. 點擊GitHub右上方自己帳號的icon出現下拉選單點選Settings

  1. 點擊Developer Settings

  1. 點擊 personal access tokens

  1. 點擊Generate New Token 按鈕

  1. Note寫入你要的token名稱,然後點選底下該token你要給予的scope(這個token可以拿來做什麼事,在這邊我只勾選與repo相關的scope),最後按下綠色Generate TokenButton就可以Generate出一組熱騰騰的API Token了。

  1. 會產生一組隨機英數字串符,記得一定要先複製下來存好,不然之後就再也看不到囉。

  1. 當你下一次再回來Personal access tokens 頁面時,只會看到你建過的token名稱,但不會有內容。所以上一步的保存token是很重要的。

  

                 在建好拿到token之後,接下來就是對Source Tree的設定了,假設你是第一次打開source treegit clone 一個遠端的GitHub repo,通常這時候Source Tree不會存有你的GitHub 帳號密碼,所以當我們用Source Tree Clone一份GitHubrepo時,會需要輸入帳號密碼,而這邊帳號仍是你登入到GitHub上的帳號,但密碼不可以再用你的密碼,因為你現在是2FA Enabled User,所以密碼要用剛剛建出來可以存取repo用的API Token

  1. 打開Source Tree 點選Clone/New 功能。

  1. Clone Repo對話視窗中填入GitHub RepoHTTPS位址,然後鼠標移動到其他欄位,此時Source Tree因為沒有目標GitHub可存取的帳號密碼,所以會跳出一個視窗。要求你輸入帳號密碼,此時只要把帳號跟API Token輸入帳密欄位按Login即可。

  1. 驗證通過後按下對話框下方的Clone鈕即可成功clone repo

  是的,那如果你是本來非2FA account現在突然enable2FA,勢必Source Tree原本內存的帳密資訊驗證會通過不了,這時你就要到Source Tree去把存好的帳密砍掉重練或更改帳號的密碼,查看方式是在: [Tools] -> [Options] -> [Authentication], 這個頁籤存著你的帳號密碼,你只要把密碼改成API Token就可以了,有沒有很容易呢?

 

2019718日星期四 12:03 AM

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(0) 人氣()