我使用LibGit2Sharp库克隆/推送经过身份验证的用户的GitHub存储库,但是LibGit2Sharp不接受访问令牌来授权用户。
LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "username",
Password = "password"
};因此,我有一个来自Octokit.NET的访问令牌,我希望使用这个令牌使用LibGit2Sharp推送到授权的用户存储库。
有什么办法能做到这一点吗?如果我知道的话,Octokit.NET此时无法执行推送请求。
更新
正如Carlos Martín Nieto和Ivan Zuzak建议的那样,我修改了代码:
LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "the-access-token",
Password = string.Empty
};在我使用我的推逻辑之后:
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()方法上犯了一个错误?
非常感谢!
发布于 2014-07-03 16:25:27
libgit2sharp支持使用与GitHub相同的身份验证令牌。您将令牌作为用户名传递,并将密码保留为空。
git不支持仅使用HTTP的身份验证令牌,因此GitHub通过接受令牌作为用户名来实现此功能。简单地使用它,就像在命令行中使用它一样。
发布于 2021-11-27 17:35:44
请参考以下教程生成访问令牌代码。
https://catalyst.zoho.com/help/tutorials/githubbot/generate-access-token.html
连接到github时,请使用用户名和访问令牌代码。它100%起作用。
https://stackoverflow.com/questions/24551182
复制相似问题