【发布时间】:2020-04-17 04:26:58
【问题描述】:
我正在尝试创建一种通用方式来将我的访问令牌添加到 Razor 应用程序中的拨出呼叫中。我跟着documentation 通过AddHttpMessageHandler 添加了DelegatingHandler:
services.AddHttpClient("MyName").AddHttpMessageHandler<AddAuthorizationHeaderHandler>();
我的处理程序被正确调用,但我找不到获取包含访问令牌的会话值的方法(因此我可以将其添加为标头)。
ASP.Net Core 将此值存储在 cookie 中。在我页面的“代码背后”中,我可以通过HttpContext(PageModel 类的公共成员)获取值。像这样:
var accessToken = await HttpContext.GetTokenAsync("access_token");
我的问题是我无法在我的DelegatingHandler 中找到访问此HttpContext 的方法。
如何在我的DelegatingHandler 中获得access_token 的会话值?
【问题讨论】:
-
显示处理程序。为什么不直接将
IHtpContextAccessor注入到委托处理程序中
标签: c# asp.net-core cookies asp.net-core-3.1