【发布时间】:2020-05-04 15:08:20
【问题描述】:
我们正在开发一个系统,以自动将生成的项目提交到位于 Azure Devops 中的 Git 存储库中。我们想为此使用 libgit2sharp。我们希望用户使用他们的 Microsoft 帐户进行身份验证,从身份验证请求中获取访问令牌 (jwt) 并将其用作身份验证手段。但我们似乎无法让它发挥作用。
在另一篇文章中,我阅读了 2 种其他身份验证方法: 1. 替代帐户。 2. 个人访问令牌,PAT。两者都在您的 devops 帐户的个人资料部分制作。
我可以让替代帐户完美运行,但这不是我们的首选路线,因为它需要用户采取额外的行动。 PAT 似乎对我不起作用,并向我抛出一个错误,即“重定向或身份验证重放次数过多”。我认为这是因为在 Microsoft 帐户上启用了两因素身份验证。
是否支持在启用 2FA 的 LibGit2Sharp 中使用访问令牌(jwt)?
using (var repo = new Repository({repo location}))
{
foreach (var file in file)
{
repo.Index.Add(file.Path);
repo.Index.Write();
}
var author = new Signature("{name}", "{name}", DateTime.Now);
var committer = author;
repo.Commit("Here's a commit i made!", author, committer);
var options = new PushOptions();
options.CredentialsProvider = (url, user, cred) => new UsernamePasswordCredentials() { Username = "{username}", Password = "{password}" };
repo.Network.Push(repo.Branches["master"], options);
}
【问题讨论】:
标签: c# asp.net libgit2sharp