亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang - 從令牌中獲取 Git 用戶名和 repo 列表

Golang - 從令牌中獲取 Git 用戶名和 repo 列表

Go
蕭十郎 2022-10-17 19:25:17
我想根據 oauth 令牌提取 git 存儲庫列表。我想為 github / gitlab & bitbucket 編寫一個通用代碼。最有可能的是,首先我可能需要從令牌中提取用戶名,然后我需要提取列表。就像 Github 文檔所建議的那樣。https://docs.github.com/en/rest/reference/users#get-the-authenticated-user https://api.github.com/users/<username>/repos但是,這只會幫助我使用 github。我已經研究過,https://pkg.go.dev/github.com/go-git/go-git/v5#Repository 因為它適用于所有 git 平臺。但是,我找不到回購列表功能(基于 oauth 令牌)最好的方法是什么?提前致謝 !
查看完整描述

1 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

沒有標準的統一方式來獲取這些信息。當你使用 Git 時,你向它提供了它用來與服務器通信的身份驗證憑據,而該服務器,無論是 GitHub、GitLab、Bitbucket、你自己的 Apache 實例還是其他,要么接受它,要么拒絕它。不要求憑證提供比這更多的功能。

對于 GitHub,您可以使用 API 來獲取該信息,前提是它是 OAuth 令牌或 PAT 并且它具有user范圍。GitHub 有其他類型的令牌可用于無法用于 API 的克隆,當然任何缺少user范圍的令牌都將不起作用。我應該指出,對于 GitHub 的令牌,用戶名沒有嵌入到令牌中(正如他們在博客上記錄的那樣),所以你確實必須使用 API。

GitLab 也可能有一個您可以使用的 API,但不會有單一的方法來處理所有存儲庫,并且可能無法從令牌類型中確定要使用哪個域。例如,github.com 和 GitHub Enterprise Server(本地選項)將發布看起來相同的令牌,但當然這些令牌只能在發布它們的系統上工作。


查看完整回答
反對 回復 2022-10-17
  • 1 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號