使用自动填充支持更改密码

Posted

技术标签:

【中文标题】使用自动填充支持更改密码【英文标题】:Change password with Autofill support 【发布时间】:2020-09-07 13:51:44 【问题描述】:

自动填充/保存密码功能已经实现并在登录视图中工作。 我想要一个修改密码的功能,也支持自动填充/强密码建议,替换钥匙串中的旧密码。

我已经尝试了几乎所有方法,但操作系统没有替换密码,也没有显示任何有关更改的确认警报。 在视图上有 3 个输入:oldPassword、newPassword、confirmPassword,按此顺序排列。所需的 contentTypes 和属性已设置(.password、.newPassword、.newPassword),在 viewWillDisappear 上我清除了所有字段。 我还放置了一个预先填充了用户名的输入字段并将其“隐藏”,只是为了确保 Apple 的启发式算法能够识别交易内容。

自动填充适用于 oldPassword(从钥匙串填充当前密码),强密码建议也适用并填充 newPassword 和 confirmPassword 输入。 但是,如果我更改密码并从视图中导航,则没有任何反应。

我有什么遗漏吗?这个“惊人的”启发式功能已经让我头晕目眩,所以我无法告诉操作系统何时需要使用此功能或以某种方式触发它。 调试也是不可能的。

【问题讨论】:

【参考方案1】:

我找到了一个解决方法,但它有点粗略,所以我仍然对正确的解决方案感到好奇。

在后端更改密码确认后,我将 newPassword 的文本复制到 oldPassword 的输入中。 之后,我调用 popViewController/whatever 来关闭视图并在 viewDidDisappear 中清除所有字段。 通过这个技巧,操作系统会显示更新钥匙串中的密码的警报。 如果您选择使用强密码建议,它会在不通知的情况下更新密码。

【讨论】:

以上是关于使用自动填充支持更改密码的主要内容,如果未能解决你的问题,请参考以下文章

2008AD域用户密码更改

MikroTik RouterOS 自动更改WIFI密码

如何使用 FOSUserBundle 强制更改密码?

安卓app自动填充密码怎么添加到桌面

如何使用busybox 和openssl 在脚本中更改用户密码?

通过Gitlab API更改密码时,在登录时禁用密码重置