如何让托管在 WebView2 控件中的 reactjs Web 应用程序使用 Windows 登录身份验证到 Okta?

Posted

技术标签:

【中文标题】如何让托管在 WebView2 控件中的 reactjs Web 应用程序使用 Windows 登录身份验证到 Okta?【英文标题】:How can I get my reactjs web application hosted within a WebView2 control authenticate into Okta using Windows login? 【发布时间】:2021-09-11 18:55:03 【问题描述】:

我有一个 reactjs 应用程序,它使用 redux-oidc 和 oidc-client npm 包正确地通过 Okta 进行身份验证,当它在浏览器中运行时,它会使用 Windows 登录凭据自动进行身份验证。我的 Web 应用程序显示在 c# .net 5 WinForms 应用程序的 WebView2 控件中,但是 Okta 提示用户使用其用户名/密码登录,而不是使用 Windows 登录凭据。有谁知道我如何让 Okta 使用 Windows 登录?

我的 c# 代码添加 WebView2 控件:

var userDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyDesktopApp");
            var environment = await CoreWebView2Environment.CreateAsync(null, userDataFolder);

            _webViewHost = new WebView2
            
                Visible = true,
                Dock = DockStyle.Fill
            ;

            await _webViewHost.EnsureCoreWebView2Async(environment);

【问题讨论】:

【参考方案1】:

您的 Okta 租户应配置为使用桌面 SSO 才能实现这一目标。请检查Okta documentation 以了解其中一种实现方法。无代理 DSSO 是一种较新的 DSSO,不需要额外的基础架构。

【讨论】:

以上是关于如何让托管在 WebView2 控件中的 reactjs Web 应用程序使用 Windows 登录身份验证到 Okta?的主要内容,如果未能解决你的问题,请参考以下文章

WebView2 控件中的打印功能

如何在Visual Studio工具栏中添加WebView2控件?

WebView2 中的搜索功能

如何使用 WebView2 控件对本地文件执行 XML/XSL 转换?

为 WebView2 设置缓存目录

在 WebResourceRequested 事件中为 WebView2 设置 cookie