У меня есть приложение Web API, приложение Identity Server и клиент для настольного компьютера.Моя цель состоит в том, чтобы настольный клиент использовал проверку подлинности Windows через Identity Server для аутентификации настольного клиента в веб-API.Это прекрасно работает без проверки подлинности Windows: клиент рабочего стола предоставляет окно браузера для ввода учетных данных.Затем учетные данные проверяются, и пользователю предоставляется доступ к настольному приложению.
Я настроил такие параметры для аутентификации Windows: приложение IdentityServer запускается в своем собственном пуле приложений.Имеет только приложение веб-API с включенной аутентификацией Windows, которое запускается в собственном пуле приложений.Включена анонимная аутентификация.
Но проблема в том, что, когда клиент Desktop пытается подключиться для получения конфигурации openid, он не может сказать: «Невозможно создать для получения конфигурации из: 'http://{server}/IdentityServer/.well-known/openid-configuration'". Если я включаю анонимную аутентификациюна IdentityServer ошибка исчезнет, но тогда, конечно, все вызовы будут анонимными, и пользователь не будет аутентифицирован. Кроме того, если после вызова я снова отключу анонимный доступ (так как вызов openId уже произошел), пользователь будетпройти проверку подлинности, и я получу ожидаемое поведение.
Итак, мой вопрос: как я могу дать серверу команду разрешить вызов Unable для создания конфигурации из: 'IdentityServer / .well-known/ openid-configuration 'работать анонимно, в то время как остальные будут работать только с проверкой подлинности?