使用基本授权时的VSTS REST API错误(用户名

VSTS REST API Error when using Basic Authorization (username & password)

使用邮递员工具,我使用标题,带有用户名和密码以及正文的基本授权生成了承载令牌。

当我通过VSTS中的Web服务请求尝试相同操作时出现错误。

使用基本授权提供用户名密码的语法是什么?


如果您具有PAT(个人访问令牌),则可以将其用于基本身份验证,而无需在密码字段中输入用户名和PAT。enter

1
2
3
4
5
6
var httpClient = new HttpClient();
var byteArray = Encoding.ASCII.GetBytes(string.Format("{0}:{1}","Domain\\\\username","password"));
httpClient.DefaultRequestHeaders.Authorization
                    = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var response = await httpClient.GetStringAsync("https://account.visualstudio.com/_apis/git/repositories");
Console.WriteLine(response);

PowerShell:

1
2
3
4
5
6
7
8
9
10
11
12
Param(
   [string]$collectionurl ="https://account.visualstudio.com",
   [string]$project ="ProjectName",
   [string]$user ="username",
   [string]$token ="Password/PAT"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

$baseUrl ="$collectionurl/$project/_apis/wit/reporting/workitemrevisions?includeLatestOnly=true&api-version=5.0-preview.2"        
$response = (Invoke-RestMethod -Uri $baseUrl -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}).values

请参阅选择正确的身份验证机制,以获取有关身份验证的更多信息。