2014-07-07 55 views
1

我使用CSharp.Bitbucket庫來使用Bitbucket(https://github.com/scottksmith95/CSharp.Bitbucket)對用戶進行身份驗證。 驗證工作正常,我得到令牌值和令牌祕密值。使用LibGit2Sharp的Bitbucket身份驗證

我已經編寫了一個邏輯 - 在LibGit2Sharp(https://github.com/libgit2/libgit2sharp)的幫助下 - 克隆/拉/推用戶回購的內容。如果用戶使用GitHub進行身份驗證,它會正常工作。在這種情況下,我必須爲用戶名提供訪問令牌的值,併爲密碼提供一個空字符串。

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

但是Bitbucket呢?我可以用這種方式使用LibGit2Sharp嗎?我找不到有關此問題的任何文檔。我試圖使用令牌值和令牌密碼也用於用戶名,但它失敗。

enter image description here

我想用到位桶使用Git和Mercurial了。是否有一個我無法意識到的小技巧?

謝謝你的幫助!

回答

2

這種將令牌作爲用戶名與空白密碼傳遞的方式特定於GitHub AFAIK(see this help article)。文章還指出,通過x-oauth-basic的作品。

BitBucket問題#7735似乎聲明傳遞令牌作爲用戶名和x-oauth-basic也將工作。

+0

訪問令牌也有一個值和一個祕密。我嘗試了這兩種方法(並將Password變量留空),但我收到以下錯誤消息。 你怎麼看,我錯了什麼? –

+0

可能需要發郵件到[email protected] – nulltoken

1

這個問題很老,但我會回答這些問題。首先,你需要做的是獲得一個acces令牌。 其很好的解釋here

一旦你的道理,你可以這樣

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

認證希望它可以幫助別人。

相關問題