我想不仅根据用户名和密码对用户进行身份验证,还要基于租户进行身份验证。我想通过租户作为自定义标题X-Company-Tenant。我可以在过程ValidateAsync中的ResourceOwnerPasswordValidator中读取此自定义标头值吗?
是否可以在IdentityServer4上创建中间件以从请求中读取标头并将该值传递给ValidateAsync?
答案 0 :(得分:1)
在ASP.NET中,您可以将IHttpContextAccessor
注入到来自DI的任何内容(作为构造函数依赖项)。这将使您可以访问当前的HTTP上下文 - 包括请求标头。
那就是说 - 您也可以将租户作为正文成员发布,您可以从传递给验证者的上下文对象轻松访问。