iOS-账号密码自动填充与添加

news/2025/1/11 7:41:46/

iOS-账号密码自动填充与添加

前言

这个功能已经推出很久了,也在很多APP上都实现了这个功能,今天发现这个功能很友好以及手上的APP还未实现这个功能, 索性温习并记录一下。

密码自动填充简化了iOS应用和网页的登录和帐户创建任务。只需轻点几下,您的用户就可以创建并保存新密码或登录现有帐户。用户甚至不需要知道他们的密码;系统处理一切。这种便利性增加了用户完成应用程序登录或注册流程并更快地开始使用您的应用程序的可能性。此外,通过鼓励用户选择唯一的强密码,您可以提高应用的安全性。 默认情况下,密码自动填充会将用户的登录凭据保存在其当前的iOS设备上。 iOS可以使用iCloud Keychain在用户的设备上安全地同步这些凭据。密码自动填充仅为应用程序的关联域推荐凭据,并且用户必须在访问这些凭据之前使用Face IDTouch ID进行身份验证。有关隐私和安全性的更多信息,请参阅隐私方法和iOS安全指南。 密码自动填充还提供实施凭证提供程序扩展的第三方密码管理器的凭据。有关凭据提供程序扩展的更多信息,请参阅AuthenticationServices框架。

密码自动填充使用启发式方法确定用户何时登录或创建新密码,并自动提供密码QuickType栏。这些启发式方法在大多数应用程序中为用户提供了一些密码自动填充支持,即使这些应用程序尚未更新以支持自动填充功能。但是,要提供最佳用户体验并确保您的应用完全支持密码自动填充,需要在应用中关联域名并在输入框设置正确的类型。触发自动填充的条件是需要用户点击了输入视图以及点击了键盘中的自动填充按钮。如果用户安装了APP,系统会将应用与应用关联域名列表并从Associated Domains Entitlement获取每个域,将尝试下载该域的Apple App Site Association文件,如果上述步骤都顺利的话,系统会将应用程序与该域关联,并为该域的凭据启动密码自动填充。使用账号密码自动填充需要系统在iOS11.0及更高的系统,伴随着iOS10.0及以上系统已经占据了90%+比例,所以我们有必要提供更好的体验,帮助用户在短时间内快速登录。

操作流程:

①在工程中开启Associated Domains,或者是在苹果后台的项目配置文件中开启,本文demo为自动签名。开启后运行项目会发现点击输入框后键盘上方会有一个钥匙图案,可以点击选择选择指定的账号和密码来进行。填充输入框。

 

 

 

点击添加按钮会直接增加一个 webcredentials:example.com,官方给的格式是:<service>:<fully qualified domain>:<port number>。而图片中的webcredentials是网页和应用共享证书的服务,具体如下:

applinks: 通用链接服务
webcredentials:网页和应用共享证书凭据服务
activitycontinuation:HandOff服务
复制代码

网站如果需要适应example.com的子域名的话,则为.example.com,并且保证每条增加的都应有webcredentials: 头部。

②创建文件:apple-app-site-association 其中24GJHXXXteamID,不是证书上的那个ID。另外后面的为app的BundleID,所以格式是:<teamID>.<BundleID>,如果有多个,可以在数组中添加。并确保该文件json格式正确无误。

{"webcredentials": {"apps": ["24XGJHXXX.cn.mypup.PasswordFillDemo"]}
}
复制代码

③确保文件上传至①所填的域名目录下或.well-know文件夹下,官方推荐使用文件夹,并且确保可以以https方式访问到该文件:https://example.com/.wellhnow/apple-app-site-association

④在Xib或代码中把输入框的textContentType填为.username.password

 

 

 

⑤我们在手机的【设置】-【密码与账户】- 网站与应用密码】- 新建一个①指定网站的账号和密码,然后运行APP,点击输入框会发现和①的时候不同,直接显示了我们设置的账号,点击即可填充账号和密码,并且点击钥匙图标的时候也是展示该网站的账号列表并有选择其他账号的选项。这跟QQ等支持了自动填充的APP的体验是一样的了。

 

 

 

 

 

 

添加账号密码

话说要是让用户来添加账号密码,在进行填充也不是很方便,正常的逻辑应该是我们注册登录成功的时候保存账号密码,后续登录可以直接使用自动填充来进行登录才是最方便的,这个苹果也想到了,可以添加账号到共享凭据中。下面就是把输入的账号添加到钥匙串并由iCloud进行同步管理,可以进行跨设备使用此账户来进行填充。

let server = "mypup.cn"
let user = User.init(user: userTextField.text ?? "", password: passwordTextField.text ?? "")
SecAddSharedWebCredential(server as CFString, user.user as CFString, user.password as 	
CFString) { (error) inguard error == nil else {print("发生错误", error!.localizedDescription)return}print("存储新账号密码成功")
}
复制代码

上面的代码会弹出提示让用户是否允许保存,用户同意后后续都能使用此账号在该设备和其他登录了同一ID设备以及浏览器均可进行填充。

 

 

 

总结

利用苹果iOS11 推出密码自动填充的功能来简便用户的登录操作,其中textContentType还有很多特性,通过iCloud、HandOff可以实现跨设备的极佳的体验。另外本文没有提及生成强密码部分,因为在国内还是很少人用这个功能吧,至少本人是这样,怕忘记密码或者在其他端登录不晓得密码的尴尬,苹果提供的生成强密码可以根据指定的规则来生成,还是很方便的对于外国人来说。

转载于作者:幸福的小木子
链接:https://juejin.im/post/5d2450e651882555300feb4d


http://www.ppmy.cn/news/674295.html

相关文章

黑苹果三码注入解决iMessage、FaceTime、APPStore、iCloud登录使用问题

打开Safari并登录到iCloud.com(https://www.icloud.com)。 单击“ 查找iPhone”&#xff0c;然后 单击“ 所有设备”旁边的向下箭头。 如果以前失败的尝试列表中有虚假设备&#xff0c;请单击每个设备&#xff0c;然后单击“ 从帐户中删除”。 您还应该通过iCloud页面上的链接&…

苹果官网如何让iCloud更加安全保护自己隐私照片

最近好莱坞 iCloud 艳照门事件&#xff0c;让不少好莱坞女星大惊失色。再一次让用户们担心起 iOS 系统的个人资料安全问题&#xff0c;苹果最新的声明声称此次被泄露个人隐私照片的好莱坞明星账户主要是因为 iCloud 账户遭到了定向攻击&#xff0c;同时密码设置过于简单所致。 …

从iCloud看信息安全云计算安全策略解析

苹果推出的iCloud服务让用户们兴奋异常&#xff0c;他们迫不及待地将个人数据迁移至苹果公司的数据中心&#xff0c;以便更轻松地访问和分享。瞧&#xff0c;这个服务很酷&#xff0c;也很方便。不过&#xff0c;当你把自己的资料交给iCloud的时候&#xff0c;是否应该为这些数…

苹果修复用户位置有关的安全漏洞,苹果Find My帮你防丢

苹果似乎已经修复了一个所谓的安全漏洞&#xff0c;即公司在未经许可的情况下跟踪iPhone用户的位置。苹果之前向公众发布了iOS 16.3和iPadOS 16.3&#xff0c;以及通常的安全修复名单&#xff0c;这一次包括提到被标记为CVE-2023-23503的安全修复程序。 该CVE在苹果地图下列出…

好气!等一年,这个iCloud 账户漏洞竟只值$1.8万?!说好的$35万呢???

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;奇安信代码卫士 作者详述了自己如何从苹果“忘记密码”端点上找到漏洞从而接管 iCloud 账户的过程。该漏洞已由苹果公司修复且不再起作用。虽然苹果安全团队奖励了1.8万美元的奖金但作者认为不公因此…

icloud无法注销,icloud服务中keyChain钥匙串无法关闭问题的解决。

我的mac上icloud登陆了某人的apple id账号&#xff0c;现在想注销然后登陆我的。结果一直注销不了。注销的时候弹出来说是否将keychain的内容保留在本地还是删除&#xff0c;不管选哪个&#xff0c;最后都会弹出对话框说&#xff1a;“关闭所有icloud服务再试一次”&#xff01…

谁在控制着 iCloud 中国区账号的密钥?

点击上方“CSDN”&#xff0c;选择“置顶公众号” 关键时刻&#xff0c;第一时间送达&#xff01; 还有一天的时间&#xff0c;我们的 iCloud 数据就要被苹果正式转给云上贵州运营了。。。 【CSDN 编者按】自2011年iCloud正式进入iOS系统以来&#xff0c;苹果公司云服务iCloud数…

如何在 iPhone 或 iPad 上查看 iCloud 钥匙串中的密码

保存在 iPhone 上的 iCloud 钥匙串中的任何登录或付款详细信息会自动同步到您的 iPhone 和 iPad。如果您想查看您在 iCloud 钥匙串中保存的一个或所有密码&#xff0c;应该如何查看呢&#xff1f;请按照以下指南进行操作&#xff1a; 如何在 iPhone 或 iPad 上查看 iCloud 钥匙…