#asp.net-mvc-5 #azure-active-directory #owin-middleware #microsoft-identity-platform
Вопрос:
Я создал регистрацию приложения MS Azure для приложения, использующего платформу MS Identity. Это работает. Я могу войти в систему с помощью своих удостоверений MS. Создаются токены доступа, и я могу использовать их для доступа к своему API.
Однако это имеет место только тогда, когда я работаю в среде локального хоста. Когда я запускаю его с использованием реального домена на реальном сервере, создается токен доступа, но от него поступают два обратных вызова login.live.com. Ниже приведен пример из моего файла журнала. Текст был удален из каждой строки, чтобы уменьшить беспорядок.
2021-08-20 17:57:16 POST /OAuth/ - 443 - XXX.XXX.XXX.XXX https://login.live.com/ 302 0 0 1223
2021-08-20 17:57:16 GET / - 443 - XXX.XXX.XXX.XXX https://login.live.com/ 304 0 0 198
Первый верен, но он никогда не выполняется, потому что второй переопределяет его, и мой браузер перенаправляется на другую страницу в корне приложения. Как я могу это исправить?
Мне не нужен этот второй ответ от Microsoft. Мой браузер на самом деле отображает страницу в / вместо страницы в /OAuth/.
Мое заявление является ASP.Net Приложение MVC 5 под управлением .Net Framework 4.7.2. Я использую Microsoft.Личность и ОУИН. Как я уже сказал, все работает, но я получаю два ответа от Microsoft.
Одна вещь, которую я попробовал, — это удалить перенаправление localhost из регистрации приложения. Проблема была не в этом. Я положил его обратно.
Ответ №1:
Платформа MS Identity отправляет два ответа. Но это происходит из-за того, как я определил Uri перенаправления в своей регистрации приложения Azure. На странице проверки подлинности регистрации приложения Azure вы определяете один или несколько Uri перенаправления. Я определил свой следующим образом.
Обратите внимание на завершающую косую черту. Мне пришлось это убрать. Я несколько раз прочитал следующий документ, но пропустил это требование.
Ограничения на перенаправление URI (URL — адрес ответа) — Платформа идентификации Майкрософт
Uri перенаправления, содержащие сегмент пути, не добавляют завершающую косую черту.