Пользовательский код ответа OWIN для истекшего токена

87
8

У нас есть сайт OWIN Web Api 2, который требует как безопасности OAuth2, так и Windows Integrated Security.


Проблема заключается в том, что при истечении токенов доступа. Owin возвращает 401 несанкционированный ответ. Это приведет к тому, что браузер откроет окно входа в систему.
Это потому, что есть заголовки XXX-Authenticate с значениями Negotiate и NTLM. Также один с носителем


Но если мы отключим Windows Integrated Security в IIS, то у него нет этих заголовков, но есть только XXX-Authenticate: Bearer, и поэтому браузер не открывает окно входа в систему.


На стороне клиента мы хотим поймать код ошибки, когда токен истек, а затем обновить токен доступа. Это действительно работает, за исключением браузера уродливого всплывающего окна с запросом идентификатора и пароля.


Но для этого приложения мы должны иметь оба типа смешанной аутентификации.


Кажется, что решение состоит в том, чтобы отправить другой код статуса http для истекших токенов, чтобы браузер не появлялся в окне входа в систему, и мы все еще можем поймать этот код на клиенте.


Однако я не уверен, как это сделать с OWIN.


Я зарегистрировал метод среднего износа в верхней части стека, чтобы посмотреть на
и изменить код ответа, но когда токен истек, кажется
вернуть 200 из OWIN, но каким-то образом будет изменен на 401 при отправке
для клиента.


Как изменить код состояния, возвращаемый только для истекших токенов?

спросил(а) 2015-05-14T00:32:00+03:00 5 лет, 11 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема