当前位置:网站首页>Apple账号密码自动填充
Apple账号密码自动填充
2022-07-01 07:15:00 【朱莉^_^JuneLee】
一、解决问题
为了app登录流程用户体验问题,对于用户登录的账号密码记录并自动填充,为用户提供快速、便捷的登录方式,让用户选择账号即可填充账号密码
二、新技术概述
这个功能已经推出比较久了,在WWDC17上,苹果发布的iOS11,其中带来了App密码自动填充的这一新的API。这一功能的实现能够让用户更方便的管理密码,更容易在我们的应用上登录。
密码自动填充简化了iOS应用和网页的登录和帐户创建任务。只需轻点几下,您的用户就可以创建并保存新密码或登录现有帐户。用户甚至不需要知道他们的密码;系统处理一切。这种便利性增加了用户完成应用程序登录或注册流程并更快地开始使用您的应用程序的可能性。此外,通过鼓励用户选择唯一的强密码,您可以提高应用的安全性。 默认情况下,密码自动填充会将用户的登录凭据保存在其当前的iOS设备上。 iOS可以使用iCloud Keychain在用户的设备上安全地同步这些凭据。密码自动填充仅为应用程序的关联域推荐凭据,并且用户必须在访问这些凭据之前使用Face ID或Touch ID进行身份验证。 密码自动填充还提供实施凭证提供程序扩展的第三方密码管理器的凭据。
WWDC17相关视频地址:Introducing Password AutoFill for Apps
三、效益
使用该技术,会记住用户的账号和密码,能让用户创建并保存新密码或登录现有账户,解决用户因记不住密码或者输错密码导致的登录问题,大大提高用户使用app的便捷性和流畅性。
四、风险评估
该技术由苹果官方推出,并在开发者大会上进行讲解说明,技术方面足够成熟,并且市面上很多APP或者网站上都实现了这个功能,目前未爆出有风险。
五、详细说明
1、项目配置
在工程中开启Associated Domains,或者直接在https://developer.apple.com/登录您的开发者账号,然后进入Certificates, Identifiers & Profiles,选择你的Identifiers,点击编辑,勾选Associated Domains
点击添加按钮会直接增加一个webcredentials:example.com,官方给的格式是: <service>:<fully qualified domain>:<port number> 。而图片中的webcredentials是网页和应用共享证书的服务,具体如下:
applinks: 通用链接服务
webcredentials:网页和应用共享证书凭据服务
activitycontinuation:HandOff服务
网站如果需要适应example.com的子域名的话,则为 .example.com ,并且保证每条增加的都应有**webcredentials: **头部。
2、服务器配置
创建一个名为apple-app-site-association的json文件(不要添加json后缀),然后里面填入的信息如下:
- TeamId为,该项目开发者账号的TeamId,可在开发者账号上查看
- BundleId为,该项目的Bundle identifier,在项目上可查看
{"webcredentials":{
"apps": ["$TeamId.$Bundle id" ]}
}
然后将此json文件放到服务器域名根目录,或者.well-known目录下面,只要能够使用访问即可
然后服务器人员给到我们访问的域名,我们将其域名,添加到上面的Associated Domains中,格式为
webcredentials:$域名,比如webcredentials:api.yolanda.hkapp设置截图
3、代码设置
将登陆注册的账号和密码的UITextfield的textContentType设置为username或者emailAddress、password
然后运行项目,查看效果
1、运行app,输入账号和密码,点击登录,登录后,会弹出是否保存保存密码
2、点击保存后,退出登录,在登录页面,点击账号和密码输入框,键盘会弹出之前保存的账号密码,点击后,进行面容Id或者指纹识别后,自动填充账号密码
3、修改密码后,更新原有账号的密码提醒
手动设置账号密码保存代码
NSString *server = @"oversea-sit.yolanda.hk";
NormalUser *loginUser = [[UserTool sharedUserTool] getLoginUser];
SecAddSharedWebCredential( (**__bridge** CFStringRef)server, (**__bridge** CFStringRef)loginUser.email, (**__bridge** CFStringRef)_newPwdTextField.textField.text, ^(CFErrorRef **_Nullable** error) {
});
然后系统会弹出弹框确认是否更新原有账号保存的密码,点击更新密码,退出登录后,填充的密码就是修改后的密码
边栏推荐
- AI视频智能平台EasyCVR设备录像出现无法播放现象的问题修复
- [network planning] (I) hub, bridge, switch, router and other concepts
- rclone中文文档:常用命令大全
- Warm congratulations on the successful listing of five elements hehe liquor
- Unity2021-Scene视图中物体无法直接选中的解决办法
- 关于图灵测试和中文屋Chinese room的理解
- Problem: officeexception: failed to start and connect (III)
- Cadence OrCAD Capture “网络名”相同,但是未连接或连接错误的解放方案之nodename的用法
- rclone常用子命令中文解释
- The programmer of Beipiao posted a post for help late at night: I am lonely when my girlfriend is gone
猜你喜欢

如何进入互联网行业,成为产品经理?没有项目经验如何转行当上产品经理?

Fix the problem that the AI video intelligent platform easycvr device video cannot be played

【剑指offer&牛客101】中那些高频笔试,面试题——链表篇

继妹变继母,儿子与自己断绝关系,世界首富马斯克,为何这么惨?

Jena基于OWL的默认推理查询

灰度何以跌下神坛?

ctfshow-web354(SSRF)

解决kaniko push镜像到harbor时报错(代理导致):unexpected status code 503 Service Unavailable

【推荐技术】基于协同过滤的网络信息推荐技术matlab仿真

【LINGO】求解二次规划
随机推荐
K8s set up redis cluster
女生适合学产品经理吗?有什么优势?
Reply and explanation on issues related to "online training of network security education in 2022"
Warm congratulations on the successful listing of five elements hehe liquor
Product learning (I) - structure diagram
Problem: officeexception: failed to start and connect (III)
Unity2021-Scene视图中物体无法直接选中的解决办法
Is it suitable for girls to study product manager? What are the advantages?
Subclasses call methods and properties of the parent class with the same name
Challenges faced by operation and maintenance? Intelligent operation and maintenance management system to help you
Operation and maintenance management system, humanized operation experience
【Tikhonov】基于Tikhonov正则化的图像超分辨率重建
关于“2022年度网络安全教育线上培训”相关问题的复盘和说明
8 figures | analyze Eureka's first synchronization registry
[Electrical dielectric number] electrical dielectric number and calculation considering HVDC and facts components
(I) apple has open source, but so what?
Inventory the six second level capabilities of Huawei cloud gaussdb (for redis)
Problem: officeexception: failed to start and connect (II)
Cadence OrCAD Capture “网络名”相同,但是未连接或连接错误的解放方案之nodename的用法
赌上了绩效,赢了公司CTO,我要搭DevOps平台!