credentials

此库提供对用户凭据的统一访问。这可以包括密码、通行密钥和联合凭据。此库应运用于提供无缝且安全的登录体验。
最新更新 稳定版 发布候选版本 Beta 版 Alpha 版
2025 年 5 月 20 日 1.5.0 - - 1.6.0-alpha02

声明依赖项

要添加对 credentials 的依赖项,您必须将 Google Maven 仓库添加到您的项目。阅读Google 的 Maven 仓库以获取更多信息。

在您的应用或模块的 build.gradle 文件中添加您所需的构件依赖项

Kotlin

dependencies {
    implementation("androidx.credentials:credentials:1.6.0-alpha02")
    implementation("androidx.credentials:credentials-play-services-auth:1.6.0-alpha02")
}

Groovy

dependencies {
    implementation "androidx.credentials:credentials:1.6.0-alpha02"
    implementation "androidx.credentials:credentials-play-services-auth:1.6.0-alpha02"
}

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或对改进此库有任何想法,请告诉我们。在创建新问题之前,请查看此库中的现有问题。您可以通过点击星形按钮为现有问题投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

此构件没有版本说明。

凭据 e2ee 版本 1.0。

版本 1.0.0-alpha02

2024 年 4 月 17 日

androidx.credentials:credentials-e2ee:1.0.0-alpha02 已发布。此版本包含之前版本中缺少的源代码 jar。

版本 1.0.0-alpha01

2024 年 4 月 3 日

androidx.credentials:credentials-e2ee:1.0.0-alpha01 已发布。版本 1.0.0-alpha01 包含这些提交

新功能

  • 支持从通行密钥创建 IdentityKey (Iba31e)

版本 1.6

版本 1.6.0-alpha02

2025 年 5 月 20 日

androidx.credentials:credentials:1.6.0-alpha02androidx.credentials:credentials-play-services-auth:1.6.0-alpha02 已发布。版本 1.6.0-alpha02 包含这些提交

API 变更

  • 支持数字凭据颁发 (I4e6f9)

版本 1.6.0-alpha01

2025 年 5 月 7 日

androidx.credentials:credentials:1.6.0-alpha01androidx.credentials:credentials-play-services-auth:1.6.0-alpha01 已发布。版本 1.6.0-alpha01 包含这些提交

新功能

  • 通行密钥条件创建 - 启用通行密钥条件创建功能,开发者可以请求进行条件通行密钥创建。条件创建请求将传播到首选凭据提供程序,然后根据一些内部条件,将在没有典型底部工作表 UI 体验的情况下创建通行密钥。用户将看到一条包含刚刚创建的通行密钥信息的通知。

API 变更

  • 公开 CreateCredentialResponse.createFrom API (Ic0494)
  • 公开 isConditionalCreate 位以允许静默创建通行密钥。(I3a1bb)

版本 1.5

版本 1.5.0

2025 年 3 月 12 日

androidx.credentials:credentials:1.5.0androidx.credentials:credentials-play-services-auth:1.5.0 已发布。版本 1.5.0 包含这些提交

自 1.3.0 版本以来的重要变更

  • 凭据选择的辅助 UI 体验:在登录时调用 Credential Manager API 以向用户显示选择器的应用开发者现在可以使用新的 API,将相同的 GetCredentialRequest 与给定视图关联,例如用户名或密码字段。随后,当用户聚焦于其中一个视图时,相应的请求将发送到 Credential Manager。结果凭据将跨提供程序聚合,并以自动填充类辅助 UI(例如键盘或下拉建议)的形式显示。因此,当所有 API 一起使用时,用户首先会看到一个选择器,如果关闭并点击上述字段之一,则会显示键盘/下拉建议。
  • 恢复凭据:恢复凭据用于将用户的凭据从上一设备恢复到新的 Android 设备。通过为用户创建 RestoreCredential,如果用户在设置阶段选择要从旧设备传输的应用,凭据将自动传输到用户的新设备。

版本 1.5.0-rc01

2025 年 1 月 15 日

androidx.credentials:credentials:1.5.0-rc01androidx.credentials:credentials-play-services-auth:1.5.0-rc01 已发布。版本 1.5.0-rc01 包含这些提交

新功能

  • 一个版本升级版本以及小的实现更新

API 变更

外部贡献

  • 弃用 BuildCompat.isAtLeastV。调用者应直接检查 SDK_INT 是否为 35。(I294d1)

版本 1.5.0-beta01

2024 年 10 月 30 日

androidx.credentials:credentials:1.5.0-beta01androidx.credentials:credentials-play-services-auth:1.5.0-beta01 已发布。版本 1.5.0-beta01 包含这些提交

新功能

以下新功能的 Beta 版本

  • 凭据选择的辅助 UI 体验:在登录时调用 Credential Manager API 以向用户显示选择器的应用开发者现在可以使用新的 API,将相同的 GetCredentialRequest 与给定视图关联,例如用户名或密码字段。随后,当用户聚焦于其中一个视图时,相应的请求将发送到 Credential Manager。结果凭据将跨提供程序聚合,并以自动填充类辅助 UI(例如键盘或下拉建议)的形式显示。因此,当所有 API 一起使用时,用户首先会看到一个选择器,如果关闭并点击上述字段之一,则会显示键盘/下拉建议。
  • 恢复凭据。恢复凭据用于将用户的凭据从上一设备恢复到新的 Android 设备。通过为用户创建 RestoreCredential,如果用户在设置阶段选择要从旧设备传输的应用,凭据将自动传输到用户的新设备。

API 变更

  • 允许开发者灵活地在 CryptoObjectBiometricPromptData setter 中进行条件设置。(Ie7e8e)

版本 1.5.0-alpha06

2024 年 10 月 16 日

androidx.credentials:credentials:1.5.0-alpha06androidx.credentials:credentials-play-services-auth:1.5.0-alpha06 已发布。版本 1.5.0-alpha06 包含这些提交

新功能

  • 准备该库即将进入稳定版。

版本 1.5.0-alpha05

2024 年 9 月 4 日

androidx.credentials:credentials:1.5.0-alpha05androidx.credentials:credentials-play-services-auth:1.5.0-alpha05 已发布。版本 1.5.0-alpha05 包含这些提交

API 变更

  • 支持一种新的凭据类型 - DigitalCredential (I12952)
  • 公开捆绑转换 API:公开更多 asBundlefromBundle 帮助器,以便这些类更容易跨 IPC 传递 (I1a017)
  • 使 PendingIntentHandler 向后兼容。(I34c13)
  • 使 CallingAppInfo 向后兼容 (I65085)
  • 公开 ClearCredentialRequestTypes 常量。

版本 1.5.0-alpha04

2024 年 8 月 7 日

androidx.credentials:credentials:1.5.0-alpha04androidx.credentials:credentials-play-services-auth:1.5.0-alpha04 已发布。版本 1.5.0-alpha04 包含这些提交

API 变更

  • CreateRestoreCredentialRequestisCloudBackupEnabled 参数添加了默认值。

Bug 修复

  • 移除了 credentials-play-services-authminSdkVersion

版本 1.5.0-alpha03

2024 年 7 月 24 日

androidx.credentials:credentials:1.5.0-alpha03androidx.credentials:credentials-play-services-auth:1.5.0-alpha03 已发布。此版本在内部分支中开发。

新功能

  • 引入了一项新功能:恢复凭据。恢复凭据用于将用户的凭据从上一设备恢复到新的 Android 设备。通过为用户创建 RestoreCredential,如果用户在设置阶段选择要从旧设备传输的应用,凭据将自动传输到用户的新设备。

API 变更

  • 添加了用于请求恢复凭据的新类。
  • 一种新的凭据类型 RestoreCredential,可以在新设备中恢复凭据。
  • 用于创建新 RestoreCredentialCreateRestoreCredentialRequest
  • 用于获取 RestoreCredentialGetRestoreCredentialOption
  • 可以修改 ClearCredentialStateRequest 以清除 RestoreCredential

Bug 修复

  • 添加了新的 RestoreCredential API,用于应用恢复目的 (If2d40)

版本 1.5.0-alpha02

2024 年 6 月 12 日

androidx.credentials:credentials:1.5.0-alpha02androidx.credentials:credentials-play-services-auth:1.5.0-alpha02 已发布。此版本在内部分支中开发。

新功能

  • 现在,提供程序可以通过 Jetpack 使用 CredentialManager 在凭据创建和检索流程中直接注入 BiometricPrompt 的能力。

API 变更

  • BiometricPromptData 添加到 API 表面,以允许通过 CredentialManager 利用新的注入式 BiometricPrompt 流程 (I3b159)
  • 修改了 CreateEntryCredentialEntry 的所有入口类和子类,以使提供程序能够利用 BiometricPromptData。(I16936, I8e5bc)
  • 添加了编码来自 CredentialManager 注入式 BiometricPrompt 流程的错误和结果所需的类型。(I8e5bc)

版本 1.5.0-alpha01

2024 年 5 月 29 日

androidx.credentials:credentials:1.5.0-alpha01androidx.credentials:credentials-play-services-auth:1.5.0-alpha01 已发布。此版本在内部分支中开发。

新功能

凭据选择的辅助 UI 体验:在登录时调用 Credential Manager API 以向用户显示选择器的应用开发者现在可以使用新的 API,将相同的 GetCredentialRequest 与给定视图关联,例如用户名或密码字段。

随后,当用户聚焦于其中一个视图时,相应的请求将发送到 Credential Manager。结果凭据将跨提供程序聚合,并以自动填充类辅助 UI(例如键盘或下拉建议)的形式显示。因此,当所有 API 一起使用时,用户首先会看到一个选择器,如果关闭并点击上述字段之一,则会显示键盘/下拉建议。

API 变更

  • 一个 PendingGetCredentialRequest 类,它接受一个(预先存在的)GetCredentialRequest,以及一个在异步可用时使用(预先存在的)GetCredentialResponse 调用的回调。
  • Android View 类的新扩展 setter API,允许设置 PendingGetCredentialRequest 的实例。使用此 API 将准备给定视图,以便当用户点击它时,凭据建议将显示在辅助 UI 体验中,例如键盘/下拉建议。

版本 1.3

版本 1.3.0

2024 年 10 月 2 日

androidx.credentials:credentials:1.3.0androidx.credentials:credentials-play-services-auth:1.3.0 已发布。版本 1.3.0 包含这些提交

自 1.2.0 版本以来的重要变更

在使库更可靠和一致方面进行的各种重要改进,包括但不限于

  • 在所有 Android 版本上支持 preferImmediatelyAvailableCredentials
  • 改进了 proguard 规则以减少应用大小的增加。
  • 各种小的错误修复。

版本 1.3.0-rc01

2024 年 7 月 10 日

androidx.credentials:credentials:1.3.0-rc01androidx.credentials:credentials-play-services-auth:1.3.0-rc01 已发布。版本 1.3.0-rc01 包含这些提交

新功能

  • 一个版本升级版本以及小的实现更新。

版本 1.3.0-beta02

2024 年 6 月 12 日

androidx.credentials:credentials:1.3.0-beta02androidx.credentials:credentials-play-services-auth:1.3.0-beta02 已发布。版本 1.3.0-beta02 包含这些提交

Bug 修复

  • 修复了逻辑,以便在包含错误的公钥凭据流程中(在 U 之前设备上)正确检查 NOT_ALLOWED_ERR 而不是 CONSTRAINT_ERR (I31b37)

版本 1.3.0-beta01

2024 年 5 月 29 日

androidx.credentials:credentials:1.3.0-beta01androidx.credentials:credentials-play-services-auth:1.3.0-beta01 已发布。版本 1.3.0-beta01 包含这些提交

API 变更

  • 重命名 reateCredentialRequest Bundle 转换 API。(I46b95)
  • 更新 priorityhints API (Ida554)

版本 1.3.0-alpha04

2024 年 5 月 14 日

androidx.credentials:credentials:1.3.0-alpha04androidx.credentials:credentials-play-services-auth:1.3.0-alpha04 已发布。版本 1.3.0-alpha04 包含这些提交

Bug 修复

  • 将 21 作为 androidx 库的默认 minSdkVersion。(I6ec7f)
  • 支持 Android 13 及以下版本的 PRF 创建。
  • 支持 Android 13 及以下版本的 preferImmediatelyAvailableCredentials

版本 1.3.0-alpha03

2024 年 4 月 17 日

androidx.credentials:credentials:1.3.0-alpha03androidx.credentials:credentials-play-services-auth:1.3.0-alpha03 已发布。此版本包含之前版本中缺少的源代码 jar。

版本 1.3.0-alpha02

2024 年 4 月 3 日

androidx.credentials:credentials:1.3.0-alpha02androidx.credentials:credentials-play-services-auth:1.3.0-alpha02 已发布。版本 1.3.0-alpha02 包含这些提交

新功能

  • 添加了新的 API,可帮助凭据条目在 getCredentialcreateCredential 调用期间在凭据选择器中清晰显示。

API 变更

  • 扩展了凭据选项 API 表面,以包含显示优先级信息 (Ied6fe)
  • 公开原始 Bundle 到结构化数据转换帮助器 (If03a0)
  • 公开 isDefaultIconisAutoSelectAllowedFromOption API (I05c59)
  • 扩展了凭据条目 API 表面,以包含默认图标信息 (I9fe00)
  • 为凭据条目添加了 entryGroupId 位 (Id995c)
  • CredentialEntry API 表面添加了一个新的 affiliationName 属性。(I6261e)
  • 公开 fromXYZEntry API 以在框架中使用 (I645a1)

Bug 修复 - 当平台凭据管理器不可用时,提供了回退解决方案。(b/310701473) - 修复了由 clearCredentialState API 导致的 NPE。(b/327686881)

版本 1.3.0-alpha01

2023 年 12 月 13 日

androidx.credentials:credentials:1.3.0-alpha01androidx.credentials:credentials-play-services-auth:1.3.0-alpha01 已发布。版本 1.3.0-alpha01 包含这些提交。

Bug 修复

  • Google Play 服务所需的最低 APK 版本现在是 2023 v08.23(APK 版本 230815045),并且此检查已内置到库中。(aosp/2856137)
  • 修复了由多个飞行中请求的竞争条件引起的“已恢复”错误 (Ic3567)

版本 1.2

版本 1.2.2

2024 年 4 月 3 日

androidx.credentials:credentials:1.2.2androidx.credentials:credentials-play-services-auth:1.2.2 已发布。版本 1.2.2 包含这些提交

Bug 修复

  • 修复了由多个飞行中请求的竞争条件引起的“已恢复”错误 (Ic3567)
  • 修复了由 clearCredentialState API 导致的 NPE。(b/327686881)

版本 1.2.1

2024 年 3 月 6 日

androidx.credentials:credentials:1.2.1androidx.credentials:credentials-play-services-auth:1.2.1 已发布。版本 1.2.1 包含这些提交

Bug 修复

  • 当平台凭据管理器不可用时,提供了回退解决方案。(b/310701473)

版本 1.2.0

2023 年 11 月 1 日

androidx.credentials:credentials:1.2.0androidx.credentials:credentials-play-services-auth:1.2.0 已发布。版本 1.2.0 包含这些提交。

自 1.0.0 版本以来的重要变更

  • 此版本添加了一组新的 API,用于支持凭据提供程序根据用户请求存储和获取密码、通行密钥。

版本 1.2.0-rc01

2023 年 10 月 4 日

androidx.credentials:credentials:1.2.0-rc01androidx.credentials:credentials-play-services-auth:1.2.0-rc01 已发布。版本 1.2.0-rc01 包含这些提交。

  • 一个版本升级版本以及小的实现更新

版本 1.2.0-beta04

2023 年 9 月 20 日

androidx.credentials:credentials:1.2.0-beta04androidx.credentials:credentials-play-services-auth:1.2.0-beta04 已发布。版本 1.2.0-beta04 包含这些提交。

新功能

  • 添加了通过 Google 登录的获取登录意图流程。(Ib6559,I7a042)
  • 添加了允许列表包的单签名检查。(Ie6ff5)
  • 更新了 PublicKeyCredential json 解析,以利用更新的 toJson() 方法。(I708e3, I00402)

Bug 修复

版本 1.2.0-beta03

2023 年 8 月 23 日

androidx.credentials:credentials:1.2.0-beta03androidx.credentials:credentials-play-services-auth:1.2.0-beta03 已发布。版本 1.2.0-beta03 包含这些提交。

Bug 修复

  • 移除了 uvm 扩展,因为 WebAuthn 规范计划弃用它们。(I2d46d)
  • 确保符合 WebAuthn 规范中关于 clientExtensionscredProps 和 rk 属性的要求 (I3ab01)

版本 1.2.0-beta02

2023 年 8 月 1 日

androidx.credentials:credentials:1.2.0-beta02androidx.credentials:credentials-play-services-auth:1.2.0-beta02 已发布。版本 1.2.0-beta02 包含这些提交。

Bug 修复

版本 1.2.0-beta01

2023 年 7 月 26 日

androidx.credentials:credentials:1.2.0-beta01androidx.credentials:credentials-play-services-auth:1.2.0-beta01 已发布。版本 1.2.0-beta01 包含这些提交。

API 变更

  • 公开一个 API,用于确定来源是否已填充 (Ia91f4)
  • 使自定义异常在语义上正确 (Ibf6f4)
  • 添加测试 API (I61c1d)
  • 添加测试 API (Iaeb6f)
  • 移除了对实验性 isAtLeastU() API 的使用 (Ie9117, b/289269026)
  • 公开一个接受允许列表的自定义来源 getter (I0c1b4)
  • 添加了 VisibleForTest 注解 (I5467a)
  • 添加了 VisibleForTest 注解 (Idf57a)
  • 移除仅用于测试的 API (Idcc05)
  • 将提供程序入口类公开给较低的 API 级别 (I2e00a)
  • 添加测试 API (Id6b9e)

Bug 修复

  • 添加测试 API (I0d243)
  • 添加新的测试 API (I6fa12)
  • 公开创建请求的自动选择功能 (I84eee)
  • 使 JSON 编码错误更详细 (I7a865)
  • 在非活动上下文参数上优雅地报告开发者错误 (/I20dd7, b/288288940)
  • 纠正了从提供程序返回的异常的异常解析 (Iaa2af,I0d243,I55151)
  • 改进了 toSlice 的文档

版本 1.2.0-alpha05

2023 年 6 月 7 日

androidx.credentials:credentials:1.2.0-alpha05androidx.credentials:credentials-play-services-auth:1.2.0-alpha05 已发布。此版本在内部分支中开发。

新功能

  • 在公共分支引入后,针对 GMS 模块的 get API 进行向后兼容解析。

版本 1.2.0-alpha04

2023 年 5 月 10 日

androidx.credentials:credentials:1.2.0-alpha04androidx.credentials:credentials-play-services-auth:1.2.0-alpha04 已发布。此版本在内部分支中开发。

版本 1.2.0-alpha03

2023 年 4 月 12 日

androidx.credentials:credentials:1.2.0-alpha03androidx.credentials:credentials-play-services-auth:1.2.0-alpha03 已发布。此版本从内部分支发布。

版本 1.2.0-alpha02

2023 年 3 月 8 日

androidx.credentials:credentials:1.2.0-alpha02androidx.credentials:credentials-play-services-auth:1.2.0-alpha02 已发布。在内部分支中开发。

API 变更

  • 通过使构造函数公开来启用提供程序请求类的测试。
  • 使所有入口类中的图标成为必需项。但是,如果凭据提供程序不提供图标,此库将提供回退图标。
  • 允许凭据提供程序设置多个身份验证操作条目,并为每个条目设置标题。
  • 移除所有特权请求类。提供程序现在只需从 android.service.credentials.CallingAppInfo 类获取来源,无需处理特权调用(代表另一个应用进行的调用)的特殊请求类。

版本 1.2.0-alpha01

2023 年 2 月 8 日

androidx.credentials:credentials:1.2.0-alpha01androidx.credentials:credentials-play-services-auth:1.2.0-alpha01 已发布。版本 1.2.0-alpha01 包含这些提交。

新功能

  • 此版本添加了一组新的 API,用于支持凭据提供程序根据用户请求存储和获取密码、通行密钥。

API 变更

  • 添加了新 API 以支持凭据提供程序。

版本 1.0

版本 1.0.0-alpha09

2023 年 6 月 7 日

androidx.credentials:credentials:1.0.0-alpha09androidx.credentials:credentials-play-services-auth:1.0.0-alpha09 已发布。版本 1.0.0-alpha09 包含这些提交。

Bug 修复

  • 验证异常类型准确且一致。(Id13d7)
  • 支持获取通行密钥请求中的 JSON 格式。(I25100)
  • 通行密钥检索流程与早期 GMS 模块向后兼容。(​I23878)

版本 1.0.0-alpha08

2023 年 5 月 3 日

androidx.credentials:credentials:1.0.0-alpha08androidx.credentials:credentials-play-services-auth:1.0.0-alpha08 已发布。版本 1.0.0-alpha08 包含这些提交。

Bug 修复

  • 改进了调试输出的可读性和错误消息。

版本 1.0.0-alpha07

2023 年 4 月 19 日

androidx.credentials:credentials:1.0.0-alpha07androidx.credentials:credentials-play-services-auth:1.0.0-alpha07 已发布。版本 1.0.0-alpha07 包含这些提交。

Bug 修复

版本 1.0.0-alpha06

2023 年 4 月 5 日

androidx.credentials:credentials:1.0.0-alpha06androidx.credentials:credentials-play-services-auth:1.0.0-alpha06 已发布。版本 1.0.0-alpha06 包含这些提交。

新功能

  • 更新了与 Google ID 的集成,将与 com.google.android.libraries.identity.googleid:googleid:1.0.0 配合使用

版本 1.0.0-alpha05

2023 年 3 月 22 日

androidx.credentials:credentials:1.0.0-alpha05androidx.credentials:credentials-play-services-auth:1.0.0-alpha05 已发布。版本 1.0.0-alpha05 包含这些提交。

Bug 修复

  • 当用户取消模态表单时,正确报告用户取消错误。(/I9ff3, b/271863184)

版本 1.0.0-alpha04

2023 年 3 月 8 日

androidx.credentials:credentials:1.0.0-alpha04androidx.credentials:credentials-play-services-auth:1.0.0-alpha04 已发布。版本 1.0.0-alpha04 包含这些提交。

API 变更

  • 在 Jetpack 库中设置来源时,增加了 android.permission.CREDENTIAL_MANAGER_SET_ORIGIN 权限要求。(Ibaad4)
  • 添加了通行密钥获取流程异常 (I4f654)
  • CredentialManager API 自动选择行为更新 (I576dd)
  • CreateCredentialRequest.DisplayInfo 现在使用 CharSequence 而不是 String 字段。(I85e70)

Bug 修复

  • 添加 Proguard 规则以确保 Play 认证模块不会被 R8 移除。(9543977)

版本 1.0.0-alpha03

2023 年 2 月 22 日

androidx.credentials:credentials:1.0.0-alpha03androidx.credentials:credentials-play-services-auth:1.0.0-alpha03 已发布。版本 1.0.0-alpha03 包含这些提交。

新功能

  • 添加了对通过 Google 登录的支持。

API 变更

  • 允许 UnsupportedException 正常工作 (I68208)
  • 添加了一种新的异常类型,以处理设备不包含必要标志等情况 (If08dd)
  • CredentialManager 异常 API (I72947)

版本 1.0.0-alpha02

2023 年 2 月 8 日

androidx.credentials:credentials:1.0.0-alpha02androidx.credentials:credentials-play-services-auth:1.0.0-alpha02 已发布。版本 1.0.0-alpha02 包含这些提交。

API 变更

  • CredentialManager API 签名更改 (Iabdec)
  • CredentialManager API 签名更改 (I977ed)
  • CredentialManager API 签名更改 (Ia6e9b)

Bug 修复

  • 旧的“cable”在 WebAuthn 规范中不再受支持,其替代方案“hybrid”现在返回用于传输列表。
  • 传输之前以二维列表形式返回,现已修复为正确的一维列表。

版本 1.0.0-alpha01

2023 年 1 月 11 日

androidx.credentials:credentials:1.0.0-alpha01androidx.credentials:credentials-play-services-auth:1.0.0-alpha01 已发布。版本 1.0.0-alpha01 包含这些提交。

新功能

  • 此版本包含一个新的 Jetpack 库,它提供了对用户凭据的统一访问。这可以包括密码、通行密钥和联合凭据。此库应运用于提供无缝且安全的登录体验。
  • `androidx.credentials:credentials-play-services-auth:1.0.0-alpha01` 是一个可选库,允许将凭据存储到 Google 密码管理器并从中检索。运行 Android API 级别 <= 33 的设备需要此依赖项。

API 变更

  • 具有新 API 的新库