WinForm 使用 webview2 和 SSO

问题描述

我有一个托管 Web 浏览器控件 (WebView2) 的客户端应用程序。客户端应用程序配置为使用 SSO,因此当前 Windows 用户自动登录到应用程序。当我导航到 Intranet 上的 Web 应用程序时,我希望使用当前 Windows 用户的凭据自动登录浏览器控件中的 Web 应用程序(支持集成的 Windows 身份验证 IWA)。

我该怎么做?

解决方法

您可以尝试启用 CoreWebView2EnvironmentOptions.AllowSingleSignOnUsingOSPrimaryAccount 属性。这将需要通过 CoreWebView2Environment.CreateAsync 创建自定义 CoreWebView2Environment,然后使用 WebView2.EnsureCoreWebView2Async 使用您的自定义 CoreWebView2Environment 初始化您的 WebView2。请务必在设置 WebView2.Source 属性之前调用 ensureCoreWebView2Async,因为 Source 属性将使用默认的 CoreWebView2Environment 隐式初始化 WebView2。