【问题标题】:Webview2 SPA SSOWebview2 SPA SSO
【发布时间】:2021-05-25 12:39:22
【问题描述】:
是否可以在仅在浏览器中运行的 SPA 和在 WPF 应用程序内的 webview2 中运行的另一个 SPA 之间使用 oauth 和 open id 连接设置 SSO?
我无法让它工作。似乎浏览器中的 SPA 和 webview2 托管的 SPA 在我的 IdentityProvider 上共享同一个会话?
【问题讨论】:
标签:
azure-active-directory
single-sign-on
openid-connect
webview2
【解决方案1】:
WebView2 不能直接与 Edge 浏览器共享状态。
当您创建 WebView2 时,您指定(或获取特定于您的应用的默认位置)WebView2 存储所有状态的用户数据文件夹。这包括 cookie、本地存储、indexeddb 等。 Edge 浏览器有自己独立的用户数据文件夹(每个安装在 canary、dev、beta 和 stable 频道之间的 Edge 浏览器都有自己的文件夹),WebView2 不能将这些文件夹用作其用户数据文件夹。
您可以在WebView2 feedback github project 上提出功能请求。
您可以在Manage user data folder in WebView2 阅读有关 WebView2 的用户数据文件夹的更多信息。
作为一种解决方法,我不确定,但可以使用 Edge 浏览器支持的其他 API 来提取状态,例如 WebDriver。