Моя неделя до сих пор : В последние пару дней я работал над развертыванием нашего основного приложения identityserver4 .net в кластере Azure Kubernetes (AKS).После нескольких проблем все, казалось, работало нормально.Мы не используем встроенные функции http-маршрутизации, потому что не хотим маршрутизировать с использованием поддоменов и по какой-то причине;мы не можем заставить letsencrypt работать, когда включена http-маршрутизация.Мы используем https: // для доступа к службам, размещенным в AKS, используя nginx.
в любом случае. Проблемы возникли, когда я развернул одно из наших клиентских приложений mvc в AKS.Домашняя страница клиента работает как положено.Когда клиент перенаправляет меня на страницу входа в нашу службу idsrv4, и я вхожу в систему, используя свои учетные данные: включается цикл перенаправления. Я знаю, что это означает, что authcookies установлены неправильно.
Проблема Я обнаружил, что двусторонняя аутентификация работает в Google Chrome и Firefox, в этих браузерах нет циклов перенаправления.Edge, IE и Safari не работают и вызывают перенаправление-петли при перенаправлении в signin-oidc.
Пока обнаружены:
- Я протестировал приложение mvcclient, используя мой локальный докер для установки Windows.При использовании HTTP-соединения - не https - двусторонняя передача работает во всех браузерах
- Когда я использую Fiddler с расшифровкой HTTPS для диагностики двусторонней передачи с использованием служб, размещенных на удаленных AKS: двусторонняя передача работает во всех браузерах
- Когда я отключаю Fiddler и тестирую сервисы, размещенные на удаленных AKS, двусторонняя передача не работает в Edge, IE и Safari.
Кто-нибудь знает, как я могу настроить Nginx для поддержки всех браузеров для настройкикуки и пересылать правильные заголовки?Каковы требования для identityserver4 в этой ситуации?Требуется ли дополнительная конфигурация rin nginx или cookie для проверки подлинности в моем клиентском приложении или identityserver4 (кроме установки publicorigin в identityserveroptions в startup.cs)?