gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 14:07:37 25 4
gpt4 key购买 nike

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

 LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "username",
Password = "password"
};

所以我有一个来自 Octokit.NET 的访问 token ,我想使用这个 token 通过 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() 方法中犯了错误?

非常感谢!

最佳答案

libgit2sharp 支持像 git 一样在 GitHub 上使用身份验证 token 。您将 token 作为用户名传入,并将密码留空。

git 不支持仅使用 HTTP Basic Auth 的身份验证 token ,因此 GitHub 通过接受 token 作为用户名来实现这一点。只需像在命令行中一样使用它。

关于git - 使用 Octokit.net 进行身份验证并使用 LibGit2Sharp 推送到 GitHub 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24551182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com