基于本教程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没有出现什么问题?
答案 0 :(得分:1)
您是否使用Windows Phone示例https://github.com/AzureADSamples/NativeClient-WindowsPhone8.1作为起点?在将其集成到通用应用程序解决方案之前,该示例是否可以自行运行?我建议在App.xaml.cs代码中添加断点,以确保正确连接延续事件。