I use the LibGit2Sharp library to clone/push the authenticated user's GitHub repository, but LibGit2Sharp doesn't accept an access token to authorize the user.
LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "username",
Password = "password"
};
So I have an access token comes from Octokit.NET and I want to use this token to push to the authorized user repository with LibGit2Sharp.
Are there any way to do this trick? If I know well, Octokit.NET couldn't perform push requests at this time.
UPDATE
As Carlos Martín Nieto and Ivan Zuzak suggest, I modified the code:
LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "the-access-token",
Password = string.Empty
};
And after I use my push logic:
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);
This logic works fine with the hard-coded username and password, but now I have got an exception at the last line, says " LibGit2Sharp.LibGit2SharpException: Request failed with status code: 403"
I missed something from the implementation or I made a mistake at Push() method?
Thank you very much!