cordova-plugin-ionic-webview - 尽管具有自动完成属性,但无法以 HTML 形式保存密码

问题描述 投票:0回答:2

我正在开发 Cordova(~PhoneGap、~Ionic)应用程序,我遵循 Apple 指南,并向我的 HTML 登录表单添加了自动完成属性,以询问用户在尝试注册时是否要保存凭据。

在 Android 上,会出现弹出窗口,询问用户是否要正确存储其凭据,并且我可以在下次尝试登录时选择我存储的凭据。但在 iOS 上情况并非如此

我想到的第一件事可能会阻止 webview 将 iOS 的密码和域关联起来,因为我为后者使用了自定义域(例如 iosapp://)。

我无法更改正在使用的自定义域,有没有办法仍然让它提示用户保存其凭据?


这个问题可以通过以下方式重现:

  1. 插件 cordova-plugin-ionic-webview 添加到 Cordova 应用程序 (cordova-ios 5.1.0)
  2. <preference name="Hostname" value="somescheme" />
    添加到您的 config.xml 中,为您的应用程序指定自定义主机名(默认主机名是 ionic://,我相信也会有同样的问题)
  3. onDeviceReady 重定向到我的 PoC(适用于所有其他浏览器):
  window.location.href = 'https://gabriele-sacchi.github.io/pocs/biometric';


gitlab问题

cordova ionic-framework phonegap-plugins ionic-webview cordova-plugin-ionic-webview
2个回答
1
投票

无法从 Web 视图触发 iCloud 钥匙串提示。 cordova-plugin-ionic-webview 在 iOS 上使用

WKWebView
类,该类似乎不支持 iCloud 钥匙串。它与您设置的自定义应用程序主机名无关。正如共享网络凭据的文档中提到的:“用户在 Safari 中登录网站时经常将用户名和密码保存在 iCloud 钥匙串中”

这就是为什么对于 iOS,我必须使用 safari 让我的用户从 Web 视图进行身份验证并允许他们保存密码。有一个很棒的 cordova 插件可以用 Safari 打开 webview (cordova-plugin-safariviewcontroller)。如果您使用 Ionic,该插件也有 Ionic 本机支持:safari-view-controller

我尝试使用

cordova-plugin-safariviewcontroller
实现您的链接,并且 iCloud 钥匙串已正确触发。事实上,您需要更改应用程序中的一些逻辑,因为使用
window.location.href=https://your.url
进入 Web 视图仅适用于 Android。您需要检测平台,然后正确重定向用户。


-1
投票

我正在尝试在 Android/IOS cordova 应用程序上执行相同的功能。 我尝试按照Apple的指南创建表单,但没有成功。 有表格代码吗?

© www.soinside.com 2019 - 2024. All rights reserved.