2015-01-13 2 views
1

На основании этого урока http://www.cloudidentity.com/blog/2014/08/28/use-adal-to-connect-your-universal-apps-to-azure-ad-or-adfs/ Я пытаюсь подключить свое универсальное приложение с помощью Azure Active Directory. К несчастью приложение Windows Phone 8.1 работает не совсем правильно.Azure Active Directory AcquireTokenAsync не вызывает события

Все нормально работает (я могу войти в систему успешно, когда я нажимаю кнопку «дважды», потому что во второй раз он получает «тихий» токен и метод AfterLogin), но событие в функции AcquireTokenAsync не прерывается после ввода моих учетных данных в окне.

private async void Button_Click(object sender, RoutedEventArgs e) 
{ 
    var result = await ac.AcquireTokenSilentAsync("https://graph.windows.net", ClientId); 
    if (result != null && result.Status == AuthenticationStatus.Success) 
     AfterLogin(result); 
    else 
     ac.AcquireTokenAndContinue("https://graph.windows.net", ClientId, WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), AfterLogin); 
} 

public void AfterLogin(AuthenticationResult result) 
{ 
    if (result.Status == AuthenticationStatus.Success) 
     Frame.Navigate(typeof(HubPage)); 
} 

Что случилось, что AfterLogin не проведенное после ac.AcquireTokenAndContinue() конца это работа?

ответ

1

Использовал ли образец Windows Phone https://github.com/AzureADSamples/NativeClient-WindowsPhone8.1 в качестве отправной точки? Работает ли образец самостоятельно, прежде чем интегрировать его в универсальное приложение? Я бы рекомендовал добавлять точки останова в код App.xaml.cs, чтобы гарантировать, что события продолжения будут правильно подключены.

+0

Я использую этот образец https://xaml.codeplex.com/releases/view/136763 У меня не было ни одного решения WP8.1, которое я получил от запуска Universal App. Я проверил и продолжаю события в app.xaml.cs правильно подключиться. – DinosaurTom

+0

Проблема решена. Он показывает, что я не должен создавать много объектов библиотеки adal. Ключ должен создать все в App.xaml.cs, а затем передать его только на страницу входа, главную страницу и т. Д. – DinosaurTom

Смежные вопросы