azure-active-directory - Webview2 SPA SSO
问题描述
是否可以使用 oauth 设置 SSO 并在仅在浏览器中运行的 SPA 和在 WPF 应用程序中的 webview2 中运行的另一个 SPA 之间建立连接?
我无法让它工作。似乎浏览器中的 SPA 和 webview2 托管的 SPA 在我的 IdentityProvider 上共享同一个会话?
解决方案
WebView2 不能直接与 Edge 浏览器共享状态。
创建 WebView2 时,您指定(或获取特定于您的应用程序的默认位置)WebView2 存储所有状态的用户数据文件夹。这包括 cookie、本地存储、indexeddb 等。Edge 浏览器有自己独立的用户数据文件夹(安装在 canary、dev、beta 和 stable 频道之间的每个 Edge 浏览器都有自己的文件夹),WebView2 不能将这些文件夹用作其用户数据文件夹。
您可以在WebView2 反馈 github 项目上提出功能请求。
您可以在管理WebView2 中的用户数据文件夹中阅读有关 WebView2 的用户数据文件夹的更多信息。
作为一种解决方法,我不确定,但可以使用 Edge 浏览器支持的其他一些 API 来提取状态,例如 WebDriver。
推荐阅读
- kotlin - 为什么翻译后的 kotlin 代码抱怨数组
? 成为一个数组 - android - 为什么 JSON 数据仅作为第一个字符返回?
- ios - 在蓝色参考文件夹中找不到新图像
- java - 如何使用 .bat 在 mac 中启动 appium 桌面 1.6.1
- azure-ad-b2c - 是否可以使用 Azure B2C 自定义策略中的声明转换来计算年龄组?
- node.js - 如果 promise 失败则停止程序
- c# - 如果用户关闭聊天,我的机器人如何注意到?
- c - 从 fortran 调用 c 函数(类型枚举)
- javascript - $onChanges 未触发
- security - 当我在 FrontOffice 中更改安全设置时,这些更改不会转到 BackOffice