浏览器和设备兼容性
k-ID 基于浏览器的验证流程在用户的浏览器中运行,并在后台提供多种验证方法。其中一种方法是 AgeKey,一种基于 WebAuthn 通行密钥(passkey)的低摩擦可复用年龄凭证。AgeKey 对浏览器的要求高于其他流程,因为它需要 passkey 的 Related Origin Requests 功能。该功能于 Chrome 129 中引入。widget 会在运行时检测浏览器,仅在浏览器支持时提供 AgeKey;在较旧的浏览器上,widget 仍可正常运行,但会隐藏 AgeKey,用户可通过其他方式完成验证。
文档阅读说明: 每个表格的每一行都列出两个最低版本:「widget」最低版本是指合规流程整体可运行的最低要求,「AgeKey」最低版本是指 AgeKey 作为验证方式可选的最低要求。最终用户设备的支持情况取决于设备是否运行受支持的 OS 版本和浏览器;除运行该 OS 所需的硬件外,无其他特定机型要求。
桌面浏览器
| 浏览器 | Widget 最低版本 | AgeKey 最低版本 | 备注 |
|---|---|---|---|
| Chrome | 108 | 129 | Chrome 129 以下将隐藏 AgeKey。 |
| Edge | 108 | 129 | 基于 Chromium;AgeKey 支持情况与 Chrome 相同。 |
| Safari | 16 | 16 | 需要 macOS 12.4(Monterey)或更高版本。 |
| Firefox | 122 | 122 | 在 macOS 上,AgeKey 还需要 macOS 13(Ventura)或更高版本。 |
| Opera | 97 | 115 | 基于 Chromium;Opera 115 以下将隐藏 AgeKey。 |
移动浏览器
| 浏览器 | Widget 最低版本 | AgeKey 最低版本 | 备注 |
|---|---|---|---|
| Chrome (Android) | 108 | 129 | 需 Android 9+。Chrome 129 以下将隐藏 AgeKey。 |
| Edge (Android) | 108 | 129 | 需 Android 9+。Edge 129 以下将隐藏 AgeKey。 |
| Firefox (Android) | 128 | 128 | 需 Android 9+。通过 Android Credential Manager 支持 AgeKey。 |
| Opera Mobile (Android) | 80 | 89 | 需 Android 9+。不支持 Opera Mini。 |
| Safari (iOS) | 15.2 | 16 | AgeKey 需要 iOS 16 及以上。 |
由于 Apple 要求所有 iOS 浏览器必须使用 WebKit,iOS 上的 Chrome、Firefox、Edge 及其他浏览器均遵循 Safari (iOS) 行的要求,而非其 Android 或桌面版本的要求。
移动端嵌入
如果您的集成在嵌入式浏览器内打开验证流程(而不是启动设备的默认浏览器),则适用以下最低要求。iOS 上的 ASWebAuthenticationSession 与 SFSafariViewController 均支持 AgeKey;在 Android 上,Android Custom Tabs 是受支持的嵌入方式。
| 嵌入方式 | Widget 最低版本 | AgeKey 最低版本 | 备注 |
|---|---|---|---|
| iOS ASWebAuthenticationSession | iOS 15.2 | iOS 16+ | 推荐。由系统托管的浏览器视图,具备 passkey 权限。 |
| iOS SFSafariViewController | iOS 15.2 | iOS 16+ | 亦受支持。passkey 权限与 ASWebAuthenticationSession 相同。 |
| iOS WKWebView(原生应用嵌入) | iOS 15.2 | ❌(widget 会隐藏 AgeKey) | 通用 WKWebView 实例缺少 passkey 权限。widget 会检测 window.webkit.messageHandlers 并隐藏 AgeKey,用户可通过其他方式完成验证。具备权限的 WKWebView 版浏览器(iOS 版 Chrome、Firefox、Edge)已列入允许名单。 |
| Android Custom Tabs | Chrome 108 / Android 9+ | Chrome 129 / Android 9+ | 推荐。自 Chrome 129 起通过 Custom Tabs + Credential Manager 支持 AgeKey。 |
| Android WebView | Android 9+ | ❌(widget 会隐藏 AgeKey) | Android WebView 不支持 WebAuthn。widget 会检查 publickey-credentials-create 功能策略并隐藏 AgeKey,用户可通过其他方式完成验证。 |
| Android Trusted Web Activity | ❌ | ❌ | 需要在 k-ID 域名上设置数字资产链接(digital-asset-link),但该配置不可用。TWA 会回退到 Custom Tabs;请直接使用 Custom Tabs。 |
桌面端嵌入与游戏引擎
桌面应用、启动器和游戏引擎通常通过内嵌的 Chromium Embedded Framework(CEF) 承载网页内容,例如 CefSharp 或游戏引擎自带的基于 CEF 的浏览器。
AgeKey 的要求与桌面 Chrome 相同:底层 Chromium 分支必须包含 Related Origin Requests 功能。该功能于 Chromium 129 中引入。在 CEF 129 以下,使用已有 AgeKey 进行验证时会静默失败,因此 widget 会隐藏 AgeKey,改为提供其他验证方式。
| CEF 分支 | AgeKey 状态 |
|---|---|
| CEF 129 以下 | 不可用。widget 会隐藏 AgeKey,改为提供其他验证方式。 |
| CEF 129+ | 完全支持。AgeKey 的创建和复用均可通过 OS 平台身份验证器(Windows Hello、Touch ID)完成。 |
如需就特定设备或浏览器配置咨询,请联系您的 k-ID 客户代表或 k-ID。