【发布时间】:2021-01-19 23:11:15
【问题描述】:
我有以下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,以确保我拥有正确的令牌。我想我认为我错误地传递了不记名令牌。
如何让它使用 Bearer 身份验证?
【问题讨论】:
-
不确定您希望我们在这里提供什么帮助。我们不知道您正在与之交谈的 API 是如何工作的,也不知道您的令牌是否有效,也不知道为生成该令牌而提供的凭据是否允许您访问您尝试使用的资源。
-
令牌变量在哪里?
-
我在关于令牌的问题中添加了一些内容。
-
@runnerpaul 给出的答案确实解决了你的问题?
标签: c# .net authentication dotnet-httpclient getasync