首页 > 解决方案 > 在电容器应用程序中打开 Web 应用程序

问题描述

我想知道 Capacitor App 是否可以只是一种在他自己的 webview 活动中打开 web 应用程序的空壳。

我将多个解决方案视为简单的 window.location 调用、完整的 TWA 应用程序、PWA 元素等,但我想确定解决方案。

该应用程序需要符合 OIDC PKCE(Keycloak 身份验证)

场景一:Webview + window.location

在一些初始化的东西(获取本地属性)之后,我调用一个 window.location 来重定向到 Web 应用程序。webapp 代码将使用 oidc-client.js 处理身份验证,但由于 Webview,我无法执行 SSO(阻止 cookie 等)。

场景 2:可信网络活动 + window.location

与没有 SSO 问题的场景 1 相同(它使用浏览器引擎),但我担心未来的这项技术(安全性,IOS)。

场景三:Webview + 插件认证 + window.location

用户在移动应用程序中通过身份验证,然后被重定向到 Web 应用程序。我没有尝试,因为我害怕技术困难(例如:外部Web应用程序的axios需要访问shell应用程序中的访问令牌请求)

场景 4:Webview + 插件认证 + 外部应用程序作为 web 组件

在我看来,完美的场景。一个带有 Oauth2 插件的轻电容 Web 应用程序,可动态加载外部 Web 组件(PWA 元素?)。外部应用程序将用作 web 组件,而不是 html/js 静态资源。在这种情况下,JS 上下文被维护并且没有重定向。

什么是最先进的?将所有网络应用程序简单地嵌入到 apk 中是可行的还是更好?

标签: capacitor

解决方案


推荐阅读