0

, пожалуйста, любезно помогите мне с моей попыткой реализовать аутентификацию на стороне клиента для применения формы xamarin, которую я разрабатываю. Я следил за каждым учебным пособием о том, как интегрировать активный каталог Azure в xamarin при использовании лазурных мобильных сервисов. ошибка всегда бросается в точку вызова loginAsync. при дальнейшем исследовании с использованием лазурного журнала я узнал, что ошибка исходила из easyautmodule. Пожалуйста, помогите, как я сказал, что я следовал каждому учебник по этому вопросу, и я был на этом сейчас каждый день в течение прошлой неделиОшибка EasyAuthModule_32 Ошибка 401 в форматах xamarin aad аутентификация

пожалуйста найти мой код ниже

try 

     { 
       AuthenticationContext ac = new AuthenticationContext(authority); 
       ac.TokenCache.Clear(); 
       AuthenticationResult ar = await ac.AcquireTokenAsync(resource, clientId, new Uri(returnUri), new PlatformParameters(this)); 
       JObject payload = new JObject(); 
       payload["access_token"] = ar.AccessToken; 
       // DataRepository.DefaultManager.CurrentClient.Logout(); 
       user = await DataRepository.DefaultManager.CurrentClient.LoginAsync(MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory,payload); 


      } 
      catch (Exception ex) 
      { 
       CreateAndShowDialog(ex.Message, "Authentication failed"); 
      } 
+0

NOTIFY_MODULE_START \t ModuleName = "EasyAuthModule_32bit", Уведомление = "AUTHENTICATE_REQUEST", fIsPostNotification = "ложно" \t 17: 35: 29,541 67. \t MODULE_SET_RESPONSE_ERROR_STATUS Предупреждение \t ModuleName = "EasyAuthModule_32bit", Уведомление = "AUTHENTICATE_REQUEST", HttpStatus = "401", HttpReason = "Несанкционированное", HttpSubStatus = "71", ErrorCode = "Неизвестная ошибка (0x80004005)", ConfigExceptionInfo = "" \t 17: 35: 29,557 68. \t \t NOTIFY_MODULE_END ModuleName = "EasyAuthModule_32bit", Уведомление = "AUTHENTICATE_REQUEST", fIsPostNotificationEvent = "false", NotificationStatus = "NOTIFI CATION_FINISH_REQUEST "\t 17: 35: 29.573 –

ответ

1

EasyAuth несовместим с Azure Mobile Services , Вы уверены, что используете правильный прокси-сервер?

Убедитесь, что вы используете следующий NuGet для Azure Mobile Apps: https://www.nuget.org/packages/Microsoft.Azure.Mobile.Client/

EasyAuth доступна только в Azure App службы. Вам необходимо настроить модуль аутентификации/авторизации службы приложений. Предполагая, что вы уже интегрировали ADAL в свое приложение Xamarin и имеете токен доступа от ADAL, ваш код довольно близок. Однако я обнаружил, что конфигурация AAD для мобильных приложений сложна. Поэтому я написал пару сообщений в блоге об этом.

Вот поток сервера издание: https://shellmonger.com/2016/04/04/30-days-of-zumo-v2-azure-mobile-apps-day-3-azure-ad-authentication/

Вот поток клиента издание: https://shellmonger.com/2016/04/06/30-days-of-zumo-v2-azure-mobile-apps-day-4-adal-integration/

Оба используют Кордову в качестве мобильного клиента, но конфигурация сервиса одинакова. Детали клиента (помимо очевидных языковых различий) также схожи.

+0

Я действительно начал проект в качестве лазурного мобильного приложения, за которым следил [this] (https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile -xamarin-forms-get-started /) для создания backnet-сервера –

+0

Я выполнил ссылку для реализации на стороне клиента, но все еще получаю эту ошибку. что больше всего меня озадачивает, так это то, что я получаю токен от AAD, но мобильные службы отказываются его распознавать, я также заметил, что токены всегда всегда истекли, срок действия всегда установлен на текущее время, поэтому во время отладки его уже истек –