У нас есть собственный сервер аутентификации OAuth 2, который работает на Microsoft Owin. В нашей конечной точке аутентификации мы вызываем метод Овина SignIn
для генерации JWT и перенаправления на клиент.
Request
.GetOwinContext()
.Authentication
.SignIn(authenticationProperties, new[] { claimsIdentity });
Это работает на одном сервере, на котором мы его развернули, но не на другом.
- Сервер A возвращает перенаправление 302 на URI в
redirect_uri
в URI запроса
- Сервер B возвращает 200 OK
Что могло заставить Овина не выдавать 302 здесь? Параметры URL-запроса идентичны на обоих серверах.
Диагностика
Серверы практически идентичны, за исключением базовых URL-адресов, на которых размещается сервер авторизации.
- Сравнение серверов
- .NET Framework версия: 4.7.2 на обоих
- Версия Windows: Server 2012 R2 на обоих
- Развернутые DLL: Одинаковые на обоих
- Сравнение трафика
- Параметры URI : идентичны в обоих
- Заголовки
- Сервер A имеет заголовок Location и код состояния 302
- Сервер B не имеет местоположения и кода состояния 200