未通过 Smart Lock 在应用中检索关联网站的密码 API

Password from associated website not retrieved in app via Smart Lock API

我已经 associated my https website and app to share stored credentials 并收到关联已生效的确认信息,但是当我在我的应用程序中调用 CredentialsApi.request() 方法时,我无法从我的网站检索任何凭据使用 Chrome 密码管理器保存。我该如何解决这个问题?

将数据提交到 associate your app and https website 并收到协会已生效的确认信息后,需要检查以下事项:

  • 如果您刚刚保存了新凭据,请等待几分钟以在 Chrome 和 Android 之间以及跨设备进行同步
  • 尝试使用真实设备(Android 4+)而不是模拟器,确保设备是 运行 最新版本的 Google Play Services (8+) 并且具有有效的互联网连接
  • 确保您已使用与 Android 设备相同的帐户登录 Chrome,并且该帐户状态良好(不需要密码 re-entry 和满足任何公司政策要求,例如同步并接收推送电子邮件通知)
  • 如果该协会最近刚刚上线,并且您在启用之前正在设备上的应用程序中测试 API 集成,请访问 passwords.google.com 并删除您的网站/应用程序的任何现有条目强制删除任何缓存数据
  • 在 Chrome 中访问您的网站,正常登录并在出现提示时保存密码,确认密码已保存并出现在 chrome://settings/passwords 和 passwords.google.com 在您的关联中指定的 https 域下(如果您将鼠标悬停在 UI 中显示的域上则完全可见)
  • 在 Android 上调用 API 使用包名与您提交的匹配的 apk,并使用与您的 Play 商店应用相同的密钥库签名,请记住调试如果您在使用 non-release 密钥的开发环境中或者您移动到另一台计算机,密钥库可能会有所不同。

  • 请注意,如果有多个可用凭据,API 回调可能不会立即成功,因为您可能需要 handle multiple stored credentials 并调用 UI 以允许用户 select 凭据

请注意,如果您在应用程序中保存凭据,Chrome 将在关联生效约 24 小时后(以及凭据也可以通过 Chrome Credentials API). If you're looking for a complete guide to testing a Smart Lock integration, check out .