Почему Owin OAuth перенаправляет в одной среде, а не в другой? - PullRequest
0 голосов
/ 24 января 2019

У нас есть собственный сервер аутентификации 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
...