密码自动填充和共享Web凭据的无缝体验

tajawal的 移动设备下一步是什么

提供无缝的登录/入职体验将增加用户完成应用的入职体验并尽快开始使用您的应用的可能性。

自动填充简化了您的应用程序的登录和帐户创建。 在登录的情况下,系统将自动填充用户密码,或者在创建帐户时生成唯一且强度高的密码。 主要优点是用户甚至不需要记住密码,因为系统可以处理所有事情。 此外,自动生成强密码将提高应用程序的安全性。 所有这些都可以通过使用应用程序的本地钥匙串和共享的Web凭据来完成。


为您的应用启用此功能仅需执行几个步骤:

  1. 设置您应用的关联域。 查看本文以了解更多有关如何设置应用程序关联域的信息。
  2. 在相关文本字段上设置正确的自动填充类型。

为了确保您的文本输入视图显示正确的自动填充建议,请按照以下示例在相关的输入视图上设置textContentType属性:

  usernameTextField.contentType =   。用户名 
passwordTextField.contentType = 。密码

完成这些步骤并运行您的应用程序后,您会在键盘上方看到一个名为“快速类型栏”的栏,该栏的侧面有一个钥匙图标。 如果您保存了凭据,它们将显示在此处。 选择您的帐户后,将在使用TouchId,FaceId或密码验证后提供相关信息。

生成字符串密码

由于管理密码很麻烦,Apple在WWDC18期间在iOS 12中引入了此新功能。 鼓励用户使用独特的强密码,可以提高应用程序的安全性。 用户现在不再需要记住他们的密码,因为它将自动为他们生成密码并将其存储在钥匙串中,从而使他们可以跨设备使用它。

启用此功能与启用密码自动填充一样容易。 您需要做的就是将textContentType属性设置为新密码:

  newPasswordTextField.contentType = .newPassword 

另请参阅自定义密码自动填充规则。

用户在Safari中登录网站时,通常会将用户名和密码保存在iCloud钥匙串中。 后来,如果他们从同一位开发人员运行本机应用程序,则可能必须访问同一帐户。 因此,我们想利用共享Web凭据简化这些跨平台用户的登录过程。

作为用户,
我想访问为网站存储的凭据,而不是要求重新输入用户名和密码。 此外,创建新帐户,从应用程序内更新密码。

我们如何做到这一点?

  1. 首先在应用的本地钥匙串中检查用户的凭据。 如果找到了用户的凭据,则可以直接将其登录或自动填充文本字段。 如果不是,请转到步骤2👇。
  2. 签入共享的Web凭据,如果找到了用户的凭据,则可以直接登录或自动填充文本字段,并将凭据保存在应用程序的本地钥匙串中。 如果仍然找不到任何凭据,或者用户拒绝使用共享凭据,则提示用户输入用户名和密码。

技术方案

我将使用KeychainAccess钥匙串的简单Swift包装器。 我还为“共享Web凭据”创建了一个包装器,您可以在这里找到。

从keycain读取用户凭证:

我们介绍了一些与用户体验和安全性相关的出色功能,这些功能可能会对用户与您的应用的互动产生积极影响。 就个人而言,密码对我来说很痛苦,我倾向于使用密码管理工具来处理它。 希望我们看到更多的应用程序能够适应这些功能。

希望本文对您有所帮助,我希望收到您的来信,欢迎发表评论。 在githubtwitter或上找到我 linkedin 。 也不要忘记查看我们的应用程序和网站✈️