其實我大概半年前就收到github 關閉 password token 來做登入這件事了,只是一直覺得還沒有要寫部落格,所以就一直忽略他。直到2021/08/23他失效那一天,我無法在deploy那天,我才在生出稿件後才開始處理這件事。其實不是很難的事情,但網路上的資料好像不多,我還是簡單記錄下。
警告訊息
在超過08/23後,你使用 Hexo deploy指令後,便會跳這個警告,使你deploy失敗。
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access ‘https://github.com/myctw/myctw.github.io/': The requested URL returned error: 403
FATAL Something’s wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Error: remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access ‘https://github.com/myctw/myctw.github.io/': The requested URL returned error: 403 at ChildProcess.(/Users/mingyi/Documents/blog/node_modules/hexo-util/lib/spawn.js:37:17)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:962:16)
at Socket.stream.socket.on (internal/child_process.js:381:11)
at Socket.emit (events.js:182:13)
at Pipe._handle.close (net.js:606:12)
(這段我是複製別人的,我當下根本沒有截圖)
很明顯第一句話就告訴你了,他們已經移除密碼驗證的方式,據說是安全性太低,建議使用personal acess token。
正式開始
Step 1 建立 personal access token
Github 右上角 個人大頭貼點下去,點進 settings。
左邊一排設定中找到 Developer settings 。
左邊一排點選 Personal access token 。
點選 **Generate new token ** 。
Note欄位就是名稱,基本上有個意義、看得出來是幹嘛的就好。
Expirarion官方建議不要設永久,因為這樣就沒有安全性了,我是設定一年啦,怕以後忘記這個怎麼用,阿最多設到兩年內,超過就只有永久了。
權限部分就看各位的需求自己設定了,我的目的是只有使用 Hexo,那麼權限這樣設就能用了。
- 接著點選 Generate Token 就可以囉!要記得 token 只會顯示一次,也就是現在,之後只能重新產生了喔!所以一定要先複製好。
Step 2 修改 _Config.yml
還記得我們之前教過怎麼免手動登入github嗎?
連結在這:
我們直接將原本輸入密碼的部分取代貼上為剛剛的 personal access token 就可以囉!
恭喜完成!