Я включил CORS ранее, но это были «Разрешенные внешние URL-адреса перенаправления», которые повесили меня. Спасибо за помощь @BruceChen!

му я работаю над проектом по повторному развертыванию приложения, которое ранее размещалось в качестве мобильной службы Azure в качестве мобильного приложения Azure. Указанное приложение имеет внешний интерфейс (размещенный как веб-приложение в Azure) и внутренний API-интерфейс (это мобильное приложение), который вызывается непосредственно из JavaScript внешнего интерфейса. Обновление шло хорошо, пока я не начал работать над частью Аутентификации учетной записи Microsoft. Следуя инструкциям на ...

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-net-upgrading-from-mobile-services

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-how-to-configure-microsoft-authentication

... есть вещи в основном катятся. Мое приложение было зарегистрировано в Центре разработчиков учетных записей Microsoft, я указал URI перенаправления в формате «https: // {my_backend_mobile_app_name}} .azurewebsites.net / .auth / login / microsoftaccount / callback», настроил проверку подлинности Microsoft / Авторизация в соответствующем блейде моего мобильного приложения в Azure с использованием ClientId / Secret из Центра разработчиков учетных записей Microsoft. Когда я тестирую, дела идут хорошо: я могу перейти к интерфейсу своего приложения и нажать кнопку «Войти», откроется новое окно с сайтом Microsoft Login.Live, где мне предлагается войти в систему с учетной записью Microsoft, Я сделал это успешно и перенаправлен на URL-адрес перенаправления, указанный в Центре разработчиков учетных записей Microsoft, и в строке запроса добавлены значения кода и состояния.

Однако на странице, которая отображается при перенаправлении, есть сообщение «У вас нет прав для просмотра этого каталога или страницы». Если я скопирую URL-адрес, откройте новую вкладку, вставьте ее и нажмите «Ввод», чтобы перейти на страницу «Вы успешно вошли в систему». Но ни один из способов не возвращает меня к веб-интерфейсу моего приложения, где оно будет входить в систему и переходить на сайт, поскольку все еще происходит в новом окне, которое было открыто для входа. Если я закрою это окно, процесс аутентификации увидит, что как «Отмена» входа в систему и требует от меня войти снова (что просто повторяет вышеописанный процесс). Если я оставлю окно открытым и вернусь к окну с моим веб-сайтом, он все еще ожидает ответа от процесса входа в систему.

Так что это приводит меня к моему основному вопросу: Как заставить процесс проверки подлинности учетной записи Microsoft фактически возвращать ответ при входе на мой веб-сайт, а не в окно входа?

ПримечаниеЯ обновил SDK как для внешнего интерфейса, так и для внутреннего интерфейса, начиная с версии Mobile Service и кончая мобильным приложением. При этом мне пришлось добавить промежуточное программное обеспечение OWIN (согласно инструкциям в ссылке № 1 выше, под заголовком «Обновление проекта сервера») к моему бэкэнд-приложению. Моя текущая гипотеза состоит в том, что это промежуточное программное обеспечение OWIN не настроено правильно для аутентификации и мешает обратному вызову от работы должным образом; таким образом, я возиться сapp.UseAppServiceAuthentication(new AppServiceAuthenticationOptions()); кусок.

Ответы на вопрос(1)

Ваш ответ на вопрос