【发布时间】:2020-09-07 19:18:51
【问题描述】:
是否可以在中间件中使用自定义标头填充请求标头?我的目标是调用已实现基本身份验证的外部 rest api。所以在后端代码中保留 API 机密会很好。
我已经尝试了所有可能在 HTTP 上下文中向请求标头添加标头的方法,但似乎比我之前想的要难一些。
修改响应头没有问题,也许请求头有这种方式?
【问题讨论】:
标签: c# .net asp.net-core .net-core
是否可以在中间件中使用自定义标头填充请求标头?我的目标是调用已实现基本身份验证的外部 rest api。所以在后端代码中保留 API 机密会很好。
我已经尝试了所有可能在 HTTP 上下文中向请求标头添加标头的方法,但似乎比我之前想的要难一些。
修改响应头没有问题,也许请求头有这种方式?
【问题讨论】:
标签: c# .net asp.net-core .net-core
这里修改请求和响应是有区别的。
由于你调用的是一个 rest api,你需要注入一个 IHttpClientFactory > 创建一个客户端 > 通过 appsettings.json 将 auth 标头添加到它(例如)
或
你可以使用Typed Clients,可以这样配置:
services.AddHttpClient<GithubClient>(c => { c.DefaultRequestHeaders.Add("Bearer", "token"); });
您可以使用DefaultRequestHeaders 属性从上面的配置中添加您的身份验证标头,然后在您的类型化服务中注入一个HttpClient,该服务将负责调用您的rest api。
文档中提供了有关此主题的所有内容。见here
【讨论】: