X 是一款社交媒体应用,旨在帮助全球近 5 亿用户通过所有实时评论了解完整的故事,内容涵盖突发新闻、娱乐、体育和政治等。最近,X 开发者改进了 Android 应用的登录流程,让用户不会错过自己感兴趣的对话。该团队使用 Credential Manager API 实现了新的通行密钥身份验证,以便用户能够更快、更轻松、更安全地访问应用。
使用通行密钥简化登录流程
如今,基于密码的传统身份验证系统安全性较低,更容易遭受网络攻击。许多用户经常选择容易被猜到的密码,而恶意攻击者可以利用暴力破解攻击轻松破解这些密码。他们还会在多个账号中重复使用相同的密码,这意味着如果一个密码被破解,所有账号都会遭到入侵。
通行密钥完全无需密码,可解决因密码强度不够和遭受钓鱼式攻击而日益严重的账号安全问题。此功能可提供更安全、更顺畅的登录体验,让用户不必记住用户名或密码。
X 的安全主管 Kylie McRoberts 表示:“通行密钥是一种更简单、更安全的登录方式,可使用 PIN 码或生物识别数据(例如指纹或人脸识别数据)代替密码。”“我们探索了使用通行密钥,以便让用户更轻松、更安全地登录,帮助他们保护自己的账号,而无需记住密码。”
自实施通行密钥以来,X 团队发现登录时间大幅缩短,并且各项指标表明登录流程有所改进。与仅依赖密码时相比,该应用的成功登录率提高了一倍。该团队还发现,启用通行密钥的用户提出的重设密码请求有所减少。
据 X 开发者称,采用通行密钥不仅能提高安全性并简化登录体验,还能降低成本并改善用户体验。
“通行密钥具有强大的固有身份验证功能,因此我们得以减少与基于短信的双重身份验证相关的支出。”Kylie 说道。“登录流程简单便捷,用户无需费心记忆或重设密码,因此更有可能使用我们的平台。”
通行密钥依靠公钥加密来验证用户身份并向用户提供私钥。这意味着,网站和应用可以查看并存储公钥,但绝不会看到和存储私钥,因为私钥是由用户的凭据提供方加密并存储的。由于密钥是唯一的,并且与网站或应用相关联,因此无法被仿冒,这可以进一步提高安全性。
使用 Credential Manager API 实现无缝集成
为了集成通行密钥,X 开发者使用了 Android 的 Credential Manager API。Kylie 表示,该流程“非常顺畅”。该 API 将 Smart Lock、一键快捷功能和 Google 登录统一为一个简化的工作流。这还使开发者能够移除数百行代码,从而提高实现效率并减少维护开销。
最终,X 位开发者仅用了两周时间就完成了向 Credential Manager 的迁移,随后又用了两周时间来完全支持通行密钥。X 的工程师 Saurabh Arora 表示,这次迁移“非常快”,团队“没想到会如此简单明了”。借助 Credential Manager 简单且基于协程的 API,处理多种身份验证选项的复杂性基本上已消除,从而减少了代码、出现 bug 的可能性以及总体开发者工作量。
X 位开发者通过集成 Credential Manager API 显著提高了开发速度。通过 Credential Manager API 改用通行密钥后,他们实现了以下目标:
- 身份验证模块中的代码减少了 80%
- 90% 的旧版极端情况错误得到解决
- 将 GIS、“一键快捷功能”和 Smart Lock 处理代码减少了 85%
使用 Credential Manager API 的顶级方法(例如 createCredential 和 getCredential)可简化集成,因为这些方法消除了围绕各个协议的自定义逻辑复杂性。这种统一的方法还意味着 X 开发者可以使用单个一致的接口来处理各种身份验证类型,例如通行密钥、密码和联合登录(如“使用 Google 账号登录”)。
Saurabh 表示:“借助 Credential Manager 简单的 API 方法,我们可以通过一次调用检索通行密钥、密码和联合令牌,从而减少分支逻辑并使响应处理更简洁。”使用不同的 API 方法(例如 createCredential() 和 getCredential())也简化了凭证存储空间,让我们可以在一个位置处理密码和通行密钥。
X 位开发者在使用 Credential Manager API 采用“使用 Google 账号登录”功能时,并未遇到太多挑战。用更简单的 Credential Manager 实现替换 X 之前的 Google 登录、一键快捷功能和 Smart Lock 代码,意味着开发者不再需要处理连接或断开连接状态和 Activity 结果,从而减少了出错的可能性。
通行密钥的未来
X 集成通行密钥表明,实现更安全、更人性化的身份验证体验是可行的。通过利用 Credential Manager API,X 开发者简化了集成流程,减少了潜在的错误,同时提升了安全性和开发速度,并改善了用户体验。
Saurabh 表示:“我们建议考虑集成通行密钥的开发者充分利用 Credential Manager API。”“它确实简化了流程,减少了您需要编写和维护的代码,从而使开发者能够更好地进行实现。”
展望未来,X 计划进一步提升用户体验,允许用户仅使用通行密钥注册,并提供专门的通行密钥管理界面。
开始使用
了解如何使用通行密钥和 Credential Manager API 改善应用的登录用户体验。
继续阅读
-
案例研究
Uber 利用 Android 恢复凭据 API 简化了新设备的登录流程,预计每年可减少 400 万次手动登录,并提高用户留存率。
Niharika Arora • 阅读用时:5 分钟
-
案例研究
Zoho 是一套全面的云端软件套件,专注于安全性和顺畅体验。通过在 OneAuth Android 应用中采用通行密钥,Zoho 取得了显著改进。
Niharika Arora, Joseph Lewis • 阅读用时:10 分钟
-
案例研究
Monzo 是一家英国数字银行,拥有 1,500 万客户,并且客户数量还在不断增长。随着应用规模的扩大,工程团队发现应用启动时间是一个需要改进的关键领域,但担心这需要对代码库进行重大更改。
Ben Weiss • 阅读用时:2 分钟
随时了解最新动态
每周通过电子邮件接收最新的 Android 开发洞见。