【发布时间】:2019-02-27 14:13:11
【问题描述】:
我有一个带有两个 API 的平台。我们称它们为 API A 和 API B。我有一个案例,我必须从 API A 调用 API B,并且都需要一个单独的用户。所以我在那里添加了策略和 JWT 令牌。
当然,两个 API 中的策略是相同的。
因此,我使用授权令牌在 API A 中调用方法 A。方法工作正常并从 API B 调用方法 B,但 HTTP 客户端没有获得令牌,因为没有填充任何地方..
我正在尝试在 API A 中填写 Startup.cs,使用令牌的 httpClient,但我不知道如何使用令牌获取 HttpContext。
这就是我尝试在 HttpClient 中填充令牌的方式,但我现在不完全正确,我应该如何从上下文中获取令牌。
services.AddHttpClient("Api_B_Client", x =>
{
x.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "");
});
在上下文中存在token,因为我是这样解析的:
services.AddAuthentication().AddJwtBearer(cfg =>
{
SetupJwtBearerWithDecryption(cfg);
});
在 SetupJwtBearerWithDecryption 方法中,我有一个 OnMessageReceived 事件,我正在解析令牌
【问题讨论】:
-
可以从 api b 的 Request.header 中读取
标签: .net-core