Bitbucket authentication to use LibGit2Sharp

自闭症网瘾萝莉.ら 提交于 2021-01-27 18:35:22

问题


I used the CSharp.Bitbucket library to authenticate users with Bitbucket (https://github.com/scottksmith95/CSharp.Bitbucket). The authentication works fine, I get the token value and token secret values.

I have alredy written a logic - with the help of LibGit2Sharp (https://github.com/libgit2/libgit2sharp) - to clone/pull/push the content of the users repo. It works fine if the user authenticates with GitHub. In that case I have to provide the value of the access token for username and an empty string for password.

 LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
        {
            Username = [GITHUB ACCESS TOKEN], 
            Password =""
        };

But what about Bitbucket? Can I use LibGit2Sharp in this way? I couldn't find any documentation about this issue. I tried to use the token value and the token secret also for username, but it fails.

enter image description here

I would like to use Bitbucket with Git and Mercurial too. Is there a little trick which I couldn't realize this far?

Thank you for your help!


回答1:


This way of passing the token as the username with a blank password is specific to GitHub AFAIK (see this help article). The article also states that passing x-oauth-basic works.

The BitBucket issue #7735 seems to state that passing the token as the username and x-oauth-basic would also work.




回答2:


This question is old but I will answer for those how come across whith this problem. First, what you have to do is get an acces token. Its well explaned here.

Once you have the token, you can authenticate like this

   CredentialsProvider = (_url, _user, _cred) => new UsernamePasswordCredentials
        {
            Username = x-token-auth:[ACCES-TOKEN],
            Password = ""
        } 

Hope it helps someone.



来源:https://stackoverflow.com/questions/24607212/bitbucket-authentication-to-use-libgit2sharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!