首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Octokit.net进行身份验证,并将LibGit2Sharp推送到GitHub存储库

使用Octokit.net进行身份验证,并将LibGit2Sharp推送到GitHub存储库
EN

Stack Overflow用户
提问于 2014-07-03 10:26:36
回答 2查看 1.7K关注 0票数 3

我使用LibGit2Sharp库克隆/推送经过身份验证的用户的GitHub存储库,但是LibGit2Sharp不接受访问令牌来授权用户。

代码语言:javascript
复制
 LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
        {
            Username = "username",
            Password = "password"
        };

因此,我有一个来自Octokit.NET的访问令牌,我希望使用这个令牌使用LibGit2Sharp推送到授权的用户存储库。

有什么办法能做到这一点吗?如果我知道的话,Octokit.NET此时无法执行推送请求。

更新

正如Carlos Martín Nieto和Ivan Zuzak建议的那样,我修改了代码:

代码语言:javascript
复制
 LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
    {
        Username = "the-access-token",
        Password = string.Empty
    };

在我使用我的推逻辑之后:

代码语言:javascript
复制
 var pushOptions = new PushOptions() { Credentials = credentials};

 Remote remote = repo.Network.Remotes["origin"];

 LibGit2Sharp.Signature author = new LibGit2Sharp.Signature("name", "email", DateTime.Now);

 repo.Network.Push(remote,"HEAD",@"refs/heads/master",pushOptions, author, null);

这个逻辑对硬编码的用户名和密码很好,但是现在我在最后一行得到了一个异常,上面写着“LibGit2Sharp.LibGit2SharpException:请求失败,状态代码: 403”。

我忽略了实现中的一些东西,或者在Push()方法上犯了一个错误?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-03 16:25:27

libgit2sharp支持使用与GitHub相同的身份验证令牌。您将令牌作为用户名传递,并将密码保留为空。

git不支持仅使用HTTP的身份验证令牌,因此GitHub通过接受令牌作为用户名来实现此功能。简单地使用它,就像在命令行中使用它一样。

票数 3
EN

Stack Overflow用户

发布于 2021-11-27 17:35:44

请参考以下教程生成访问令牌代码。

https://catalyst.zoho.com/help/tutorials/githubbot/generate-access-token.html

连接到github时,请使用用户名和访问令牌代码。它100%起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24551182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档