Azure Active Directory AcquireTokenAsync不会触发事件

时间:2015-01-13 22:14:02

标签: c# win-universal-app azure-active-directory

基于本教程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应用程序并没有完全正常工作。

所有东西都没问题(当我点击两次按钮时,我可以成功登录,因为他第二次获得"沉默"令牌和方法AfterLogin已经执行)但是函数AcquireTokenAsync中的事件不是't&t; t在我把凭据放在窗口后,我感到很沮丧。

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));
}

在ac.AcquireTokenAndContinue()结束工作后,AfterLogin没有出现什么问题?

1 个答案:

答案 0 :(得分:1)

您是否使用Windows Phone示例https://github.com/AzureADSamples/NativeClient-WindowsPhone8.1作为起点?在将其集成到通用应用程序解决方案之前,该示例是否可以自行运行?我建议在App.xaml.cs代码中添加断点,以确保正确连接延续事件。