凭据

此库可提供对用户凭据的统一访问权限。其中包括密码、通行密钥和联合凭据。该库应该用于提供安全顺畅的登录体验。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2025 年 1 月 15 日 1.3.0 1.5.0-rc01 - 1.5.0-rc01

声明依赖项

如需添加凭据的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

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

Kotlin

dependencies {
    implementation("androidx.credentials:credentials:1.5.0-alpha05")

    // optional - needed for credentials support from play services, for devices running
    // Android 13 and below.
    implementation("androidx.credentials:credentials-play-services-auth:1.5.0-alpha05")
}

Groovy

dependencies {
    implementation "androidx.credentials:credentials:1.5.0-alpha05"

    // optional - needed for credentials support from play services, for devices running
    // Android 13 and below.
    implementation "androidx.credentials:credentials-play-services-auth:1.5.0-alpha05"
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 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.5

版本 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 版:

  • 用于选择凭据的辅助界面体验:如果应用开发者在用户登录时调用 Credential Manager API 以向用户显示选择器,现在可以使用新 API 将相同的 GetCredentialRequest 与给定视图(例如用户名或密码字段)相关联。之后,当用户聚焦于其中一个视图时,系统会向 Credential Manager 发送相应请求。系统会汇总来自各个提供方的凭据,并在自动填充等次要界面(例如键盘或下拉菜单建议)中显示这些凭据。因此,当所有 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,可在新设备中恢复凭据。
  • CreateRestoreCredentialRequest 用于创建新的 RestoreCredential
  • GetRestoreCredentialOption,用于提取 RestoreCredential
  • 您可以修改 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 for Providers 使用 CredentialManager 在凭据创建和检索流程中直接注入 BiometricPrompt

API 变更

  • 向 API Surface 添加了 BiometricPromptData,以允许通过 CredentialManager 使用新的注入 BiometricPrompt 流程 (I3b159)
  • 修改了 CreateEntryCredentialEntry 中的所有条目类和子类,以便为提供程序使用 BiometricPromptData。(I16936I8e5bc
  • 添加了使用 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。此版本是在内部分支中开发的。

新功能

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

之后,当用户聚焦于其中一个视图时,系统会向 Credential Manager 发送相应请求。系统会汇总来自各个提供方的凭据,并在自动填充等次要界面(例如键盘或下拉菜单建议)中显示这些凭据。因此,当所有 API 一起使用时,系统会先向用户显示选择器,如果用户关闭选择器并点按上述某个字段,系统会显示键盘/下拉菜单建议。

API 变更

  • 一个 PendingGetCredentialRequest 类,用于接受(现有)GetCredentialRequest,以及一个回调(如果有)(通过现有 GetCredentialResponse 异步调用)。
  • 为 Android View 类新增了扩展设置器 API,可用于设置 PendingGetCredentialRequest 的实例。使用此 API 会准备给定视图,以便当用户点按该视图时,凭据建议会显示在辅助界面体验(例如键盘/下拉菜单建议)中。

版本 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 软件包转化 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 变更

  • 扩展了 Credential Options API Surface,以包含有关显示优先级的信息 (Ied6fe)
  • 向结构化数据转换帮助程序公开了原始 Bundle (If03a0)
  • 公开了 isDefaultIconisAutoSelectAllowedFromOption API (I05c59)
  • 扩展了凭据条目 API Surface,以包含有关将图标设为默认图标的信息 (I9fe00)
  • 向凭据条目添加了 entryGroupId 位 (Id995c)
  • CredentialEntry API Surface 添加了一个新的 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 账号登录的获取登录 intent 流程。(Ib6559I7a042
  • 为列入许可名单的软件包添加了单个签名检查。(Ie6ff5)
  • 更新了 PublicKeyCredential JSON 解析,以使用更新后的 toJson() 方法。(I708e3I00402

bug 修复

  • 修复了缺少 Proguard 规则的问题 (b/288120539)

版本 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
  • 确保符合有关 clientExtensionscredProps 和 rk 属性的 WebAuthn 规范 (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 的用法(Ie9117b/289269026
  • 公开了接受许可名单的自定义来源 getter (I0c1b4)
  • 添加了 VisibleForTest 注解 (I5467a)
  • 添加了 VisibleForTest 注解 (Idf57a)
  • 移除了仅限测试的 API (Idcc05)
  • 向较低 API 级别公开提供程序条目类 (I2e00a)
  • 添加了测试 API (Id6b9e)

bug 修复

  • 添加了测试 API (I0d243)
  • 添加了新的测试 API (I6fa12)
  • 公开了“创建”请求的自动选择功能 (I84eee)
  • 详细说明 JSON 编码错误 (I7a865)
  • 在非 activity 上下文参数上妥善报告开发者错误 (/I20dd7b/288288940)
  • 更正了针对从提供程序返回的异常的异常解析(Iaa2afI0d243I55151
  • 完善了 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 修复

  • 在用户取消模态动作条时,正确报告用户取消错误。(/I9ff3b/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 规则,以确保 R8 不会移除 Play 身份验证模块。(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 修复

  • WebAuthn 规范不再支持旧的“cable”,系统现在会针对传输列表返回其替换项“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