无法在 Cordova 上加载 Stripe 3ds iframe
Unable to load Stripe 3ds iframe on Cordova
我很难为条纹实现 3ds。
自从我更新到 cordova 10、android@9.1 和 ios@6.2 后,我无法再为 3ds 加载 iframe。 Intent 设置正确,我在 Phone 上收到 3ds 文本消息,但看不到 iFrameContent。我尝试更改 index.html 中的 Content-Security-Policy 和 config.xml 中的 allow-navigation。
这些是我的 config.xml
属性:
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-navigation href="about:*" />
<allow-navigation href="https://*/*" />
这里是我如何设置 CSP 的:
<meta
http-equiv="Content-Security-Policy"
content="
connect-src * 'self' 'unsafe-inline';
script-src * 'self' 'unsafe-inline';
frame-src https://*.stripe.com;"
>
这是我得到的错误:
根据 stripe documentation,您需要将这些规则附加到您的 CSP
但我仍然无法加载包含 3ds 的 iframe。
有线索吗?谢谢!
尝试使用 ionic webkit "cordova-plugin-ionic-webview"
,添加
<preference name="ScrollEnabled" value="true" />
<preference name="Scheme" value="https" />
<preference name="MixedContentMode" value="2" />
到你的config.xml(这是ionic-webview特有的),最后添加frame-ancestors 'self' https://*.stripe.com;
到你的csp配置。
对我有用
我正在为所有在同一问题上苦苦挣扎的人写这篇文章。我设法通过将条带逻辑和卡片管理移到 Cordova 默认浏览器包装器(即 WKWebView)之外来解决这个问题。我已经获得了条纹支持,他们也认为这与 WKWebView 安全有关。
只需安装 cordova-plugin-inappbrowser 并使用 InAppBrowser.addEventListener
与您的应用程序通信
我很难为条纹实现 3ds。 自从我更新到 cordova 10、android@9.1 和 ios@6.2 后,我无法再为 3ds 加载 iframe。 Intent 设置正确,我在 Phone 上收到 3ds 文本消息,但看不到 iFrameContent。我尝试更改 index.html 中的 Content-Security-Policy 和 config.xml 中的 allow-navigation。
这些是我的 config.xml
属性:
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-navigation href="about:*" />
<allow-navigation href="https://*/*" />
这里是我如何设置 CSP 的:
<meta
http-equiv="Content-Security-Policy"
content="
connect-src * 'self' 'unsafe-inline';
script-src * 'self' 'unsafe-inline';
frame-src https://*.stripe.com;"
>
这是我得到的错误:
根据 stripe documentation,您需要将这些规则附加到您的 CSP
但我仍然无法加载包含 3ds 的 iframe。
有线索吗?谢谢!
尝试使用 ionic webkit "cordova-plugin-ionic-webview"
,添加
<preference name="ScrollEnabled" value="true" />
<preference name="Scheme" value="https" />
<preference name="MixedContentMode" value="2" />
到你的config.xml(这是ionic-webview特有的),最后添加frame-ancestors 'self' https://*.stripe.com;
到你的csp配置。
对我有用
我正在为所有在同一问题上苦苦挣扎的人写这篇文章。我设法通过将条带逻辑和卡片管理移到 Cordova 默认浏览器包装器(即 WKWebView)之外来解决这个问题。我已经获得了条纹支持,他们也认为这与 WKWebView 安全有关。
只需安装 cordova-plugin-inappbrowser 并使用 InAppBrowser.addEventListener