我有一个使用shell的Xamarin Forms应用程序,带有用于身份验证的IdentityServer4后端。
我有一个登录按钮,按下时,用户将按预期定向到我的身份服务器登录。成功登录后,我通过重定向 URL 返回到我的应用程序...但我没有被带回我所在的页面(使用我的登录按钮(,我被带到我的应用程序的起始页。
更重要的是,如果我此时按下后退按钮,我将被带回我的登录页面......但奇怪的是(对于那些知道发生了什么的人来说可能并不那么奇怪(,当我按下这个后退按钮时,应用程序中的 OnResume 事件.cs被击中。
谁能建议这里发生了什么?我希望我的应用程序返回到同一页面(登录页面(而不是起始页面,这似乎超出了当前生命周期。
谢谢
ps - 如果它有区别,我使用的重定向 Uri 来自 IdentityServer 文档"io.identitymodel.native://callback"...尽管我打算在它工作时更改它。
似乎这只是一个Android问题。我通过将主活动上的启动模式设置为单个任务来解决此问题...例如
启动模式 = 启动模式。单个任务
[Activity(Label = "MyXamarinApp", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTask, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
这又回到了我上次离开的申请中。