0

我有以下GetAsync内容,我正在尝试使用不记名令牌进行身份验证,但收到 403 响应。当我查看请求标头时,我可以看到Authorization: Basic YWJjOmRlZg==

var client = new HttpClient(handler)
{
    BaseAddress = new Uri("https://api.myendpoint.com/v2/")
};
client.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", "token");
var httpResponseMessage = _myclient.GetAsync("instruments?country=US&type=BOND").GetAwaiter().GetResult();

令牌有效。我向邮递员证实了这一点。我还将它硬编码到其中AuthenticationHeaderValue以确保我拥有正确的令牌。我想我认为我错误地传递了不记名令牌。

如何让它使用承载认证?

4

2 回答 2

0

将令牌传递给标题(我目前正在使用它):

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

或类似的东西:

client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
于 2021-01-19T23:28:09.903 回答
0

服务器抛出 HTTP 403 Forbidden 响应,因为它拒绝授权您的请求。这可能意味着您的不记名令牌中缺少某些声明或特定声明值。

于 2021-01-20T03:44:49.157 回答