cordova-plugin-ionic-webview -无法在HTML表单中保存密码,尽管具有自动完成属性

n3ipq98p  于 11个月前  发布在  Ionic
关注(0)|答案(1)|浏览(123)

我正在开发一个Cordova(~PhoneGap,~Ionic)应用程序,我跟随Apple guidelines and added to autocomplete attributes to my HTML login form询问用户是否想在尝试注册时保存他们的凭据。
在Android上,弹出窗口询问用户是否要正确存储凭据,我可以在下次尝试登录时选择存储的凭据。不过iOS上不是这样
我想到的第一件事可能会阻止webview将iOS的密码和域关联起来,这是因为我为后者使用了自定义域(例如. iosapp://)。
我无法更改正在使用的自定义域,是否有方法仍然让它提示用户保存其凭据?
这个问题可以这样再现:
1.将plugin cordova-plugin-ionic-webview添加到Cordova应用程序(cordova-ios 5.1.0)
1.将<preference name="Hostname" value="somescheme" />添加到您的application.xml中,为您的应用程序指定自定义主机名(默认主机名是ionic://,我相信这也会有同样的问题)

  1. onDeviceReady重定向到我的浏览器(适用于所有其他浏览器):
window.location.href = 'https://gabriele-sacchi.github.io/pocs/biometric';

字符串
x1c 0d1x的数据
gitlab issue

ajsxfq5m

ajsxfq5m1#

无法从您的webview触发iCloud钥匙串提示。cordova-plugin-ionic-webview使用iOS上的WKWebView类,该类似乎不支持iCloud钥匙串。它与您设置的自定义应用程序主机名无关。正如shared web credentials的文档中所提到的:“用户在Safari中登录网站时,通常会将用户名和密码保存在iCloud钥匙串中”
这就是为什么对于iOS,我不得不使用safari让我的用户从webview进行身份验证,并允许他们保存密码。有一个很好的cordova插件可以用Safari打开webview(cordova-plugin-safariviewcontroller)。如果你使用的是Ionic,还有一个Ionic原生支持这个插件:safari-view-controller
我试图用cordova-plugin-safariviewcontroller实现你的链接,iCloud钥匙串被正确触发.事实是,你将需要改变你的应用程序中的一些逻辑,因为通过使用window.location.href=https://your.url去webview将只适用于Android.你将需要检测平台,然后正确重定向用户.


的数据

相关问题