libgit2 / libgit2/libgit2sharp

How can we commit changes using the access token key that gets generated using oauth support in gitHub

未關閉
#1,873 1 則留言 3 個 reaction 已指派 0 人 在 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

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。