Xamarin.forms Azure AD B2C Xamarin表单-成功登录后再次执行Appearing方法

Xamarin.forms Azure AD B2C Xamarin表单-成功登录后再次执行Appearing方法,xamarin.forms,azure-ad-b2c,Xamarin.forms,Azure Ad B2c,这是iOS特有的问题 我已经完成了这里文档中建议的所有步骤 在安德托伊德,它工作得很好。但在iOS中,它不会在成功登录后返回应用程序 是的,登录页面显示正确,我们可以在那里输入凭据,但一旦成功登录,浏览器将关闭,但调试器未连接回应用程序 我已经启用了密钥链访问,在info.plist中添加了Url类型,并在AppDelegate.cs中添加了以下代码 public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary o

这是iOS特有的问题

我已经完成了这里文档中建议的所有步骤

在安德托伊德,它工作得很好。但在iOS中,它不会在成功登录后返回应用程序

是的,登录页面显示正确,我们可以在那里输入凭据,但一旦成功登录,浏览器将关闭,但调试器未连接回应用程序

我已经启用了密钥链访问,在info.plist中添加了Url类型,并在AppDelegate.cs中添加了以下代码

public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
{
AuthenticationContinuationHelper.SetAuthenticationContinuationEventArgs(url);
return true;
}
在FInishLaunching事件中,我添加了以下代码

var authenticationService = DependencyService.Get();
// Default system browser
authenticationService.SetParent(null);
实际上,我是从一个视图的外观事件调用SignInAsync方法。因此,在成功验证之后,出现的事件将再次触发,并且它将丢失以前的流

如果我遗漏了什么,请告诉我。非常感谢你的帮助


谢谢。

每次屏幕出现时都会调用OnAppearing。当你登录时,你的应用程序进入后台,所以“消失”,当登录结束时,它再次出现,所以再次调用“OnAppearing”。对我来说似乎是一致的,你可能想把你的SignInAsync代码移到别处?!嗨@Miiite,还有什么其他选择?我不想在登录时显示额外屏幕?