我有一个使用Shell的Xamarin Forms应用程序,带有IdentityServer4后端进行身份验证。
我有一个登录按钮,按下该按钮后,用户将按预期的方式定向到我的IdentityServer。成功登录后,我将通过重定向URL带回到我的应用程序…但是我没有带回到我所在的页面(带有登录按钮),而是带回到了应用程序的起始页面。
更重要的是,如果我此时按返回按钮,我将返回登录页面...但是很奇怪(对于那些知道正在发生什么的人来说并不奇怪),App.cs中的OnResume事件是当我按下此后退按钮时点击。
谁能告诉我这是怎么回事?我希望我的应用返回当前生命周期之外的页面(登录页面)而不是起始页面。
谢谢
ps-如果有所不同,我正在使用的重定向Uri来自IdentityServer文档“ io.identitymodel.native:// callback” ...尽管我打算在工作时进行更改。
看来这只是一个Android问题。我通过将Main Activity上的LaunchMode设置为Single Task解决了此问题,例如
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
{
...
这从我最后离开的地方返回到我的应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句