首页 > 解决方案 > Cordova Inappbrowser 无法显示带有身份验证对话框的网站(用户名和密码)

问题描述

当 inappbrowsers 的目标设置为“_blank”时,无法显示嵌入式网站身份验证对话框。这发生在 android 和 iOS 上。

Cordova inappbrowser 使用三个目标参数之一:“_blank”、“_self”和“_system”。当目标设置为“_blank”或“_self”时,网站身份验证对话框被阻止。这使得无法使用登录凭据(用户名和密码)。将目标设置为“_blank”,可以使用事件侦听器并且嵌入式网站按预期运行。所有没有身份验证登录的测试网站都运行良好。当 inappbowser 的目标设置为“_system”时,将显示身份验证对话框。但是,身份验证对话框和网站会在系统浏览器中打开。该网站未嵌入应用程序中。在这种情况下,应用程序功能毫无用处。

  1. 我尝试使用 github 上的 inappbrowser 问题之一中描述的 deeplink 插件:https ://github.com/apache/cordova-plugin-inappbrowser/issues/342
  2. 我按照描述修改了插件:Open InAppBrowser with Authorization Header

我希望应用程序在 inappbrowser 中显示嵌入式网站的身份验证对话框,以便我可以输入用户名和密码。当前仅显示白屏。

标签: javascriptauthenticationinappbrowser

解决方案


使用授权标头打开 InAppBrowser中描述的修改插件实际上是有效的。不要忘记在 InAppBrowser.java 文件中定义您的用户和密码变量。


推荐阅读