Новая предварительная версия для перенаправления входа в MSAL для дроида Xamarin не работает

Я использую Xamarin Forms в Visual Studio 2015 с новой предварительной версией MSAL v.1.1.0. Приложение вызывает PublicClientApplication.AcquireTokenAsync, который открывает форму входа в Chrome на мобильном устройстве. Вход в систему прошел успешно, но при перенаправлении я получаю сообщение об ошибке «Этот сайт недоступен. Веб-страница по адресу msal [my app id]: // auth /? Code = [auth code] ... может быть временно вниз, или он мог навсегда переместиться на новый веб-адрес.

При переходе через приложение я вижу, что для свойства uri перенаправления PublicClientApplication установлено значение msal [my app id]: // auth. И это тот же пользовательский uri перенаправления, который я ввел в приложение клиента Azure B2C.

Есть ли у кого-нибудь предложения из этой ошибки, что я должен проверить? Спасибо.


person Steve    schedule 26.05.2017    source источник
comment
В ПОРЯДКЕ. Я понял. Я пропустил инструкцию на шаге 6b в новом примере приложения: github.com / Azure-Samples / active-directory-b2c-xamarin-native. Внутри элемента приложения файла AndroidManifest.xml необходимо добавить BrowserTabActivity. См. Ссылку на github для уточнения деталей.   -  person Steve    schedule 27.05.2017


Ответы (3)


Вам следует ознакомиться с Интегрировать Azure AD B2C в формы Xamarin. приложение с использованием MSAL образца.

Эта проблема обычно имеет следующие причины:

  • Вы неправильно настроили RedirectURI в своем AndroidManifest.xml, дважды проверьте правильность заполнения схемы и хоста, где схема включает только msal [APPLICATIONID] без двоеточия, косой черты или 'auth' и хост, в то время как хост включает только 'auth'
  • Вы неправильно настроили RedirectURI в своем MainActivity.cs, дважды проверьте, соответствует ли он полному URI перенаправления, что означает, что он включает двоеточие, косую черту и 'auth' вот так: msal [APPLICATIONID]: // auth
  • Вам не хватает OnActivityResult, который вызывает AuthenticationContinuationHelper.
person Saca    schedule 26.05.2017

В ПОРЯДКЕ. Я понял. Я пропустил инструкцию на шаге 6b в новом примере приложения: https://github.com/Azure-Samples/active-directory-b2c-xamarin-native. Внутри элемента приложения файла AndroidManifest.xml необходимо добавить BrowserTabActivity. См. Ссылку на github для уточнения деталей.

person Steve    schedule 26.05.2017

Вам нужно использовать Chrome, который не установлен на всех изображениях внутри вашего эмулятора.

Запуск в эмуляторе Android

MSAL в Android требует поддержки настраиваемых вкладок Chrome для отображения запросов аутентификации. Не каждый образ эмулятора поставляется с Chrome на борту: обратитесь к этому документу, чтобы узнать, как убедиться, что ваш эмулятор поддерживает функции, требуемые MSAL.

person MDC    schedule 28.11.2018