【问题标题】:Azure Active Directory B2C navigation failures using Xamarin Forms使用 Xamarin Forms 的 Azure Active Directory B2C 导航失败
【发布时间】:2020-09-30 13:52:48
【问题描述】:

使用 azure AD 的内置注册和登录策略,用户可以注册并创建帐户,但 UI 永远不会返回到应用程序。它留在这里

在 azure 门户中测试用户流时也会出现同样的问题。

我不确定在测试时该做什么或从哪里开始?

我还注意到其他一些有趣的怪癖。单击取消按钮时,UI 永远不会重定向回登录页面。加载进度条会像应该发生的事情一样移动,但它永远不会回到上一页。

在尝试忘记密码页面时也是如此。

编辑 这是一个 repo https://github.com/champcbg/AzureAdB2CTest 删除了 azure 广告凭据,遵循这些说明https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/authentication/azure-ad-b2c 登录和注册工作成功,我可以在 azure 中看到结果,但永远不会将手交给 android 应用程序。

绿色块中的代码被执行,这就是登录和注册页面的显示方式。在任一操作之后,代码永远不会返回到第 79 行(红色箭头)。

但如果按下后退按钮(在手机上),控制权会返回给应用程序,代码会作为“authentication_canceled”事件落入异常块中。

【问题讨论】:

  • 能否提供代码供我们测试?您可以尝试在 NavigationPage 上覆盖此 OnBackButtonPressed 事件。 docs.microsoft.com/en-us/dotnet/api/…
  • @WendyZang-MSFT 你点击后退按钮来解决取消按钮吗?当点击返回导航按钮时,应用导航回调用页面(即 MainPage.xaml)
  • 如果没有代码,我们无法确认导致此问题的原因。你能提供吗?您如何处理OnBackButtonPressed 事件?您要返回哪个页面?
  • 你的右后导航按钮确实让我重新注册登录页面
  • @WendyZang-MSFT 我已经用代码示例 repo 和文档设置链接更新了帖子,以及应用程序中发生的更多细节。感谢您的帮助。

标签: azure xamarin.forms azure-active-directory


【解决方案1】:

终于搞定了。我永远无法解决应用程序从等待中返回的问题。我倾向于错误是再也找不到活动页面。这只是一个无法证实的假设。

https://github.com/Azure-Samples/active-directory-b2c-xamarin-native

按照上面项目链接的代码示例解决了这个问题。与原始示例的主要区别是

  1. 身份验证被提取到未绑定到按钮单击的服务中,这实际上是我想要的路径,或者在视图模型中。
  2. android项目中使用的父窗口定位器服务

完整的解决方案是按照这些说明构建的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2016-04-17
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多