凭据
最近更新时间 | 稳定版 | 候选版 | 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-rc01
和 androidx.credentials:credentials-play-services-auth:1.5.0-rc01
。版本 1.5.0-rc01 包含这些提交内容。
新功能
- 版本升级版本以及一些实现更新
API 变更
- 为
IdentityCredential
添加了@Deprecated
注解,以与框架保持一致。(I6ac90、b/140252778、b/217942278、b/251211046、b/239955609)
外部贡献
- 废弃了
BuildCompat.isAtLeastV
。调用方应改为直接将 SDK_INT 与 35 进行比较。(I294d1)
版本 1.5.0-beta01
2024 年 10 月 30 日
发布了 androidx.credentials:credentials:1.5.0-beta01
和 androidx.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 变更
- 让开发者能够灵活地在
CryptoObject
和BiometricPromptData
Setter 中设置条件。(Ie7e8e)
版本 1.5.0-alpha06
2024 年 10 月 16 日
发布了 androidx.credentials:credentials:1.5.0-alpha06
和 androidx.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-alpha05
和 androidx.credentials:credentials-play-services-auth:1.5.0-alpha05
。版本 1.5.0-alpha05 包含这些提交内容。
API 变更
- 支持新的凭据类型 -
DigitalCredential
(I12952) - 公开了软件包转换 API:公开了更多
asBundle
和fromBundle
帮助程序,以便更轻松地跨 IPC 传递这些类 (I1a017) - 使
PendingIntentHandler
向后兼容。(I34c13) - 使
CallingAppInfo
向后兼容 (I65085) - 公开了
ClearCredentialRequestTypes
常量。
版本 1.5.0-alpha04
2024 年 8 月 7 日
发布了 androidx.credentials:credentials:1.5.0-alpha04
和 androidx.credentials:credentials-play-services-auth:1.5.0-alpha04
。版本 1.5.0-alpha04 包含这些提交内容。
API 变更
- 为
CreateRestoreCredentialRequest
的isCloudBackupEnabled
参数添加了默认值。
bug 修复
- 移除了
credentials-play-services-auth
的minSdkVersion
。
版本 1.5.0-alpha03
2024 年 7 月 24 日
发布了 androidx.credentials:credentials:1.5.0-alpha03
和 androidx.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-alpha02
和 androidx.credentials:credentials-play-services-auth:1.5.0-alpha02
。此版本是在内部分支中开发的。
新功能
- 现在,您可以通过 Jetpack for Providers 使用
CredentialManager
在凭据创建和检索流程中直接注入BiometricPrompt
。
API 变更
- 向 API Surface 添加了
BiometricPromptData
,以允许通过CredentialManager
使用新的注入BiometricPrompt
流程 (I3b159) - 修改了
CreateEntry
和CredentialEntry
中的所有条目类和子类,以便为提供程序使用BiometricPromptData
。(I16936、I8e5bc) - 添加了使用
CredentialManager
对注入的BiometricPrompt
流中的错误和结果进行编码所需的类型。(I8e5bc)
版本 1.5.0-alpha01
2024 年 5 月 29 日
发布了 androidx.credentials:credentials:1.5.0-alpha01
和 androidx.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.0
和 androidx.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-rc01
和 androidx.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-beta02
和 androidx.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-beta01
和 androidx.credentials:credentials-play-services-auth:1.3.0-beta01
。版本 1.3.0-beta01 包含这些提交内容。
API 变更
版本 1.3.0-alpha04
2024 年 5 月 14 日
发布了 androidx.credentials:credentials:1.3.0-alpha04
和 androidx.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-alpha03
和 androidx.credentials:credentials-play-services-auth:1.3.0-alpha03
。此版本包含上一个版本中缺少的源代码 jar。
版本 1.3.0-alpha02
2024 年 4 月 3 日
发布了 androidx.credentials:credentials:1.3.0-alpha02
和 androidx.credentials:credentials-play-services-auth:1.3.0-alpha02
。版本 1.3.0-alpha02 包含这些提交内容。
新功能
- 添加了新的 API,可帮助在
getCredential
或createCredential
调用期间在凭据选择器中清晰显示凭据条目。
API 变更
- 扩展了 Credential Options API Surface,以包含有关显示优先级的信息 (Ied6fe)
- 向结构化数据转换帮助程序公开了原始 Bundle (If03a0)
- 公开了
isDefaultIcon
和isAutoSelectAllowedFromOption
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-alpha01
和 androidx.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.2
和 androidx.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.1
和 androidx.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.0
和 androidx.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-rc01
和 androidx.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-beta04
和 androidx.credentials:credentials-play-services-auth:1.2.0-beta04
。版本 1.2.0-beta04 中包含这些提交内容。
新功能
- 添加了使用 Google 账号登录的获取登录 intent 流程。(Ib6559、I7a042)
- 为列入许可名单的软件包添加了单个签名检查。(Ie6ff5)
- 更新了
PublicKeyCredential
JSON 解析,以使用更新后的toJson()
方法。(I708e3、I00402)
bug 修复
- 修复了缺少 Proguard 规则的问题 (b/288120539)
版本 1.2.0-beta03
2023 年 8 月 23 日
发布了 androidx.credentials:credentials:1.2.0-beta03
和 androidx.credentials:credentials-play-services-auth:1.2.0-beta03
。版本 1.2.0-beta03 中包含这些提交内容。
bug 修复
- 移除了 uvm 扩展程序,因为 webauthn 规范中计划废弃这些扩展程序。I2d46d
- 确保符合有关
clientExtensions
、credProps
和 rk 属性的 WebAuthn 规范 (I3ab01)
版本 1.2.0-beta02
2023 年 8 月 1 日
发布了 androidx.credentials:credentials:1.2.0-beta02
和 androidx.credentials:credentials-play-services-auth:1.2.0-beta02
。版本 1.2.0-beta02 中包含这些提交内容。
bug 修复
- b/293743991 - 修复了
authenticatorData
字段的常量值,以便正确解析 PublicKeyCredential 中的authenticationResponseJson
属性
版本 1.2.0-beta01
2023 年 7 月 26 日
发布了 androidx.credentials:credentials:1.2.0-beta01
和 androidx.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)
- 在非 activity 上下文参数上妥善报告开发者错误 (/I20dd7、b/288288940)
- 更正了针对从提供程序返回的异常的异常解析(Iaa2af、I0d243、I55151)
- 完善了
toSlice
文档
版本 1.2.0-alpha05
2023 年 6 月 7 日
发布了 androidx.credentials:credentials:1.2.0-alpha05
和 androidx.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-alpha04
和 androidx.credentials:credentials-play-services-auth:1.2.0-alpha04
。此版本是在内部分支中开发的。
版本 1.2.0-alpha03
2023 年 4 月 12 日
发布了 androidx.credentials:credentials:1.2.0-alpha03
和 androidx.credentials:credentials-play-services-auth:1.2.0-alpha03
。这是从内部分支发布的。
版本 1.2.0-alpha02
2023 年 3 月 8 日
发布了 androidx.credentials:credentials:1.2.0-alpha02
和 androidx.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-alpha01
和 androidx.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-alpha09
和 androidx.credentials:credentials-play-services-auth:1.0.0-alpha09
。版本 1.0.0-alpha09 中包含这些提交内容。
bug 修复
版本 1.0.0-alpha08
2023 年 5 月 3 日
发布了 androidx.credentials:credentials:1.0.0-alpha08
和 androidx.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-alpha07
和 androidx.credentials:credentials-play-services-auth:1.0.0-alpha07
。版本 1.0.0-alpha07 中包含这些提交内容。
bug 修复
- 修复了由配置更改引起的 bug(a75fca、b/276316128)
- 不会破坏仅限旧版 SDK 的 U 后流程 (5418c9、b/278148300)
版本 1.0.0-alpha06
2023 年 4 月 5 日
发布了 androidx.credentials:credentials:1.0.0-alpha06
和 androidx.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-alpha05
和 androidx.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-alpha04
和 androidx.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-alpha03
和 androidx.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-alpha02
和 androidx.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-alpha01
和 androidx.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