首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TEdgeBrowser中启用单点登录

在TEdgeBrowser中启用单点登录
EN

Stack Overflow用户
提问于 2022-07-23 13:13:13
回答 1查看 190关注 0票数 1

我有一些C#代码,它展示了如何在WebView2中启用单点登录。

TEdgeBrowser不公开C#代码使用的任何属性。特别是,在Winapi.WebView2单元中为ICoreWebView2EnvironmentOptions定义的接口没有在其中定义的获取或设置AllowSingleSignOnUsingOSPrimaryAccount的功能。我相信这是因为它是由WebView2.tlb于2020年07年05/ 2020创建的,而该属性则是在2020年9月10日发布的版本中添加的。

我有什么选择?是否需要从最新的tlb创建自己版本的WebView2,然后复制Vcl.Edge单元中的代码以获得启用SSO选项的组件?

我不需要可视化组件-我很乐意用代码创建浏览器。

C#代码是:

代码语言:javascript
复制
private async void Form1_Load(object sender, EventArgs e)
{
  var browser = new WebView2();

  var options = new CoreWebView2EnvironmentOptions();
  options.AllowSingleSignOnUsingOSPrimaryAccount = true;

  var environment = await CoreWebView2Environment.CreateAsync(options: options).ConfigureAwait(false);

  await browser.EnsureCoreWebView2Async(environment).ConfigureAwait(false);

  Invoke((MethodInvoker)(() =>
  {
      browser.Dock = DockStyle.Fill;
      this.Controls.Add(browser);
      browser.Source = new Uri(https://example.com);
  }));
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-23 16:31:13

试一试WebView4Delphi。WebView4Delphi完全更新为最新的WebView2版本,它支持所有的WebView2接口。

只需在GlobalWebView2Loader.StartWebView2调用之前添加这一行:

代码语言:javascript
复制
GlobalWebView2Loader.AllowSingleSignOnUsingOSPrimaryAccount := True;

演示程序使用主单元的初始化部分创建GlobalWebView2Loader并设置属性。如果使用SimpleBrowser演示作为应用程序的模板,则必须添加前面的行这里

GlobalWebView2Loader中的该属性用于共享相同ICoreWebView2Environment的所有浏览器,这是默认行为。

如果需要创建具有独立ICoreWebView2Environment的浏览器,则必须在TWVBrowserBase.CreateBrowser调用之前设置此属性:

代码语言:javascript
复制
MyWVBrowser.AllowSingleSignOnUsingOSPrimaryAccount := True;

MyWVBrowser将是TWVBrowser的一个实例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73091045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档