首页 > 解决方案 > Xamarin Forms - 登录后重定向问题

问题描述

我有一个使用 shell 的 Xamarin Forms 应用程序,使用 IdentityServer4 后端进行身份验证。

我有一个登录按钮,按下后,用户将按预期登录到我的 IdentityServer。成功登录后,我会通过重定向 url 回到我的应用程序……但我没有回到我所在的页面(使用我的登录按钮),我被带到了我的应用程序的起始页面。

更重要的是,如果此时我按下后退按钮,我将返回我的登录页面......但奇怪的是(对于那些知道发生了什么的人来说可能并不那么奇怪),App.cs 中的 OnResume 事件是当我按下这个后退按钮时点击。

谁能告诉这里发生了什么?我希望我的应用程序返回到同一页面(登录页面)而不是起始页面,这似乎超出了当前的生命周期。

谢谢

ps - 如果它有所不同,我正在使用的重定向 Uri 来自 IdentityServer 文档“io.identitymodel.native://callback”......尽管我打算在它工作时更改它。

标签: authenticationxamarin.formsnavigationidentityserver4url-scheme

解决方案


看来这只是一个Android问题。我通过将主活动上的 LaunchMode 设置为单任务解决了这个问题......例如

LaunchMode = LaunchMode.SingleTask

[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
    {
    ...

这从我上次离开的地方返回到我的应用程序。


推荐阅读