graphql-dotnet:如何使用HTTP中间件向Windows进行身份验证?

时间:2019-04-09 12:33:01

标签: .net-core graphql graphql-dotnet

我正在使用graphql-dotnet和GraphQL HTTP中间件构建.NET Core 2.2应用程序。我正在尝试使用Windows身份验证(NTLM / Kerberos /协商)提供的用户名填充UserContext。

我无法用Windows身份验证提供的用户详细信息填充httpContext.User.Identity。我还尝试使用graphql-dotnet/authorization包装,但未成功

Windows身份验证本身可以正常工作。如果我创建普通的Controller,请添加[Authorize]属性并在控制器功能中访问User.Identity.Name,则可以访问有关当前用户的信息。

一种解决方法是创建一个WebApi控制器,使用[Authorize]属性并手动处理GraphQL请求。这意味着我没有使用我想继续使用的GraphQL HTTP中间件。

如果有人知道如何使用graphql-dotnet,GraphQL HTTP中间件和Windows身份验证来获取连接用户的用户名,将不胜感激。

0 个答案:

没有答案