URI перенаправления регистрации приложения Azure Active Directory при выполнении бэкэнда на другом сервере

Для меня проблема с неправильным импортом пространства имен menu.xml вызвала эту проблему.

Мой оригинальный menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/tools">
        <item android:id="@+id/action_search"
              android:title="@string/map_option_search"
              android:icon="@drawable/ic_action_search"
              app:showAsAction="collapseActionView|ifRoom"
              app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>

Похоже, что xmlns:app="http://schemas.android.com/tools" вызывал MenuItemCompat.getActionView(), чтобы вернуться null. Изменение этого импорта в xmlns:app="http://schemas.android.com/apk/res-auto" устранило проблему.

Новая работа menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
       <item android:id="@+id/action_search"
              android:title="@string/map_option_search"
              android:icon="@drawable/ic_action_search"
              app:showAsAction="collapseActionView|ifRoom"
              app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>
0
задан baouss 16 January 2019 в 13:17
поделиться

1 ответ

Вам необходимо понять, как работает аутентификация. Если вы используете Azure Active Directory для аутентификации, то любое приложение, которое требуется для аутентификации, должно быть зарегистрировано в AAD (Azure Active Directory). В вашем случае и фронт, и бэкэнд должны быть зарегистрированы в AAD, а ваш бэкэнд должен иметь доверие к приложению веб-интерфейса и к тому, что вы настраиваете в Azure. https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-auth-aad

Ваш веб-интерфейс должен контролировать поток и после аутентификации вы получаете перенаправление во внешний интерфейс, и он должен получать токен от AAD, и вам придется использовать этот токен в заголовке авторизации для доступа к API бэкенда. Для этого типа потока вы можете использовать AADL (библиотека AAD https://github.com/AzureAD/azure-activedirectory-library-for-js ), которая может позаботиться об этом и, как правило, лучший выбор, который этот вид потока аутентификации.

Еще один момент: зачем вам нужно использовать службу приложений Azure для Angular / HTML, когда это статический интерфейс? Вы можете посмотреть на хостинг-сайт Azure Static, который сэкономит вам кучу средств. https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website

Дополнительные ресурсы https: // docs. microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-angularjs-spa

0
ответ дан Imran Arshad 16 January 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: