我的目标:
我正在开发UWP应用程序,要求用户使用他们的Google/Facebook凭据登录以访问应用程序的功能。为此,我使用了一个Auth0客户端进行OAuth身份验证。登录成功后,用户应该被导航到MainPage.xaml页面。在调试应用程序时,这个过程完美无缺,没有任何问题。
XAML:
<Button Margin="0,45,0,0" Grid.Row="6" HorizontalAlignment="Center" Name="GoogleSignIn" Content="Sign in with Google+" Tag="google-oauth2" Click="OAuthSignin" />
<Button Margin="0,15,0,0" Grid.Row="7" HorizontalAlignment="Center" Name="FacebookSignIn" Content="Sign in with Facebook" Tag="facebook" Click="OAuthSignin" />
代码后台:
private async void OAuthSignin(object sender, RoutedEventArgs e)
{
string oauthprovider = ((Button)sender).Tag.ToString();
try
{
Auth0User user = await App.auth0.LoginAsync(oauthprovider);
if (user != null)
{
//Add user to credential locker
}
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
var nav = Template10.Common.BootStrapper.Current.NavigationService;
nav.Navigate(typeof(Views.MainPage));
nav.ClearHistory();
}
}
问题出在哪里:
应用程序部署到模拟器后,我停止调试并通过点击磁贴来启动应用程序。我进入登录页面,输入我的凭据。当我按下回车键时,我看到它返回到登录页面并很快崩溃。如果我重新打开应用程序,我会看到我已经登录,并且它会直接带我到MainPage.xaml(这是应用程序的逻辑)
让我担心的事情:为什么在非调试模式下它的行为不同?这使我受限,因为我无法设置断点以确定导致崩溃的原因。
非常感谢您的任何意见。
P.S:我尝试将应用程序部署到 Lumia 640 上,也遇到了同样的问题(这意味着与模拟器无关)。桌面版本工作正常(即使在调试之外)。