我们如何在 Xamarin 表单中删除/自定义 Azure AD B2C 身份验证 webview 页面标题栏?

Posted

技术标签:

【中文标题】我们如何在 Xamarin 表单中删除/自定义 Azure AD B2C 身份验证 webview 页面标题栏?【英文标题】:How can we remove / customize Azure AD B2C authentication webview page title bar in Xamarin forms? 【发布时间】:2019-05-30 03:51:52 【问题描述】:

在 Xamarin 表单中使用带有 MSAL 的 Azure AD B2C 身份验证服务时,Web 视图活动中会显示一个标题栏。我附上了它在下面的 android 手机上运行的屏幕截图。我有以下问题:

1) 如何删除它?有没有可能?

2) 还有可以自定义顶栏吗?更改颜色、字体大小等。如果是,如何?

3) 如何更改顶栏的文字?是否可以根据用户在应用中的语言设置对顶部栏中的文本进行本地化?

提前致谢!!

【问题讨论】:

您应该能够自定义元素。 docs.microsoft.com/en-us/azure/active-directory-b2c/… 你在 NavigationPage 中使用了 webview 吗?或 NavigationPage 包装内容页,如果是这样,您可以在 contentPage 中添加 NavigationPage.HasNavigationBar="False",如以下 xaml、<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:FormsWebViewTest" x:Class="FormsWebViewTest.MainPage" NavigationPage.HasNavigationBar="False"> @MarileeTurscak-MSFT 微软文档的链接仅告诉您如何自定义用户流程,而不是 MSAL SDK for xamarin 的嵌入式 Web 视图。 @L.Leon 包含在屏幕截图中显示的嵌入式 Web 视图的页面是 MSAL SDK 的一部分,而不是您可以“异步推送”的内容页面。 【参考方案1】:

我最终使用了自定义 Web 视图而不是 MSAL,并在使用 PropertyChanged() 更改时检查了 Web 视图的 URL。如果 Web 视图包含重定向 URL,那么我会隐藏 Web 视图并解析随它一起提供的令牌,以获取用户在 ADB2C 中的操作结果。

【讨论】:

你能详细说明它是如何工作的吗?能否提供代码示例?

以上是关于我们如何在 Xamarin 表单中删除/自定义 Azure AD B2C 身份验证 webview 页面标题栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xamarin 表单 macos 的条目(用于聊天)中添加自定义图像?

Xamarin 表单 - 如何在 TabbedView (iOS) 上自定义 VoiceOver

如何自定义 xamarin 表单 UWP 顶栏

如何在 xamarin 表单中更改搜索栏取消按钮图像

从 Xamarin 表单元素共享代码访问自定义渲染器实例

如何在 Xamarin 中使用 CSS 设置自定义字体系列