libgit2 / libgit2/libgit2sharp
How can we commit changes using the access token key that gets generated using oauth support in gitHub
還沒有人認領這個 Issue。
- 主要語言
- C#
- 星號
- 3.5k
- 分支
- 925
- PR 合併指標
- 30 天內沒有已合併 PR
描述
How can we commit changes to github using the access token generated using github Oauth.
I have got the access token and able to clone the repository using the code below
CloneOptions options = new CloneOptions();
var creds = new UsernamePasswordCredentials()
{
Username = "access token"
Password = string.Empty
};
CredentialsHandler credHandler = (_url, _user, _cred) => creds;
options.CredentialsProvider = credHandler;
string clonedRepoPath = Repository.Clone("repository", repoLocation, options);
repo = new Repository(repoLocation);
But unbale to commit the changes using the access token. below code fails with the error "'request failed with status code: 403"
Commands.Stage(repo, "abc.txt");
Signature sig = new Signature(new Identity("name", "email"), DateTimeOffset.Now);
Commit commit = repo.Commit("", sig, sig);
// Push to remote repository
var creds = new UsernamePasswordCredentials()
{
Username = "access token",
Password = ""
};
CredentialsHandler credHandler = (_url, _user, _cred) => creds;
var fetchOpts = new PushOptions { CredentialsProvider = credHandler };
repo.Network.Push(repo.Network.Remotes["origin"], "HEAD", @"refs/heads/master", fetchOpts);
Expected: Should be able to commit changes using access token.
Version of LibGit2Sharp (release number or SHA1)
LibGit2Sharp.0.26.2
Operating system(s) tested; .NET runtime tested
OSx, .net core 5.0
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
從 issue 中 CloneOptions 和 PushOptions 的認證設定開始,在 .NET 5.0 上使用 LibGit2Sharp 0.26.2。重現 Network.Push 呼叫期間的 403,並檢查涉及的 remote、refspec 和認證。當可以使用 OAuth token 將已暫存的變更提交並推送到 GitHub repository 時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- csharp, git, github
- 領域
- authentication
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100