graphql-dotnet: как пройти аутентификацию в Windows, используя промежуточное ПО HTTP? - PullRequest
0 голосов
/ 09 апреля 2019

Я создаю приложение .NET Core 2.2, используя graphql-dotnet и GraphQL HTTP Middleware. Я пытаюсь заполнить свой UserContext именем пользователя, которое предоставляется аутентификацией Windows (NTLM / Kerberos / Negotiate).

Мне не удается заполнить httpContext.User.Identity сведениями о пользователе, которые предоставляют проверку подлинности Windows. Я также пытался использовать пакет graphql-dotnet/authorization, но безуспешно

Сама аутентификация Windows работает просто отлично. Если я создам обычный Controller, добавлю атрибут [Authorize] и получу доступ к User.Identity.Name в функции контроллера, информация о текущем пользователе будет доступна.

Одним из обходных путей может быть создание контроллера WebApi, использование атрибута [Authorize] и обработка запроса GraphQL вручную. Это будет означать, что я не использую GraphQL HTTP Middleware, который я хотел бы продолжать использовать.

Было бы желательно, если бы кто-нибудь знал, как получить имя пользователя подключенного пользователя, используя graphql-dotnet, промежуточное ПО GraphQL HTTP и аутентификацию Windows в сочетании.

...