ブラウザとデバイスの互換性
k-ID のブラウザベース検証フローはユーザーのブラウザ上で動作し、バックグラウンドで複数の検証方式を提供します。そのうちの 1 つが AgeKey で、WebAuthn パスキーを基盤にした低摩擦かつ再利用可能な年齢シグナルです。AgeKey は、パスキーの Related Origin Requests を必要とするため、ほかの検証方式よりもブラウザ要件が高くなります。この Chromium 機能は Chrome 129 で導入されました。ウィジェットは実行時にブラウザを検出し、対応している場合にのみ AgeKey を提供します。対応していない古いブラウザでもウィジェットは動作しますが、AgeKey は非表示になり、ユーザーは別の方式で検証を完了します。
このドキュメントの読み方: 各テーブルの各行には最低バージョンが 2 つ示されています。「ウィジェット」の最低バージョンはコンプライアンスフローが動作するための最低要件、「AgeKey」の最低バージョンは AgeKey が検証方式として提示される最低要件です。エンドユーザーのデバイスサポートは、対応する OS バージョンとブラウザが動作するかどうかで決まります。その OS を実行するために必要なもの以外の特定のハードウェアモデルは不要です。
デスクトップブラウザ
| ブラウザ | ウィジェット最低バージョン | 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 を非表示にします。 |
モバイルブラウザ
| ブラウザ | ウィジェット最低バージョン | 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 がサポート対象の埋め込み方法です。
| 埋め込み方式 | ウィジェット最低バージョン | AgeKey 最低バージョン | 備考 |
|---|---|---|---|
| iOS ASWebAuthenticationSession | iOS 15.2 | iOS 16+ | 推奨。OS が管理するブラウザビューで、パスキー権限(entitlement)を備えています。 |
| iOS SFSafariViewController | iOS 15.2 | iOS 16+ | こちらもサポート対象。パスキー権限は ASWebAuthenticationSession と同じです。 |
| iOS WKWebView(ネイティブアプリ埋め込み) | iOS 15.2 | ❌(ウィジェットが AgeKey を非表示) | 汎用の WKWebView インスタンスにはパスキー権限がありません。ウィジェットは 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+ | ❌(ウィジェットが AgeKey を非表示) | Android WebView は WebAuthn をサポートしていません。ウィジェットは publickey-credentials-create の feature policy を確認して AgeKey を非表示にし、ユーザーは別の方式で検証を完了します。 |
| Android Trusted Web Activity | ❌ | ❌ | k-ID ドメインへの digital-asset-link 設定が必要ですが、これは利用できません。TWA は Custom Tabs にフォールバックするため、Custom Tabs を直接使用してください。 |
デスクトップ埋め込みおよびゲームエンジン
デスクトップアプリ、ランチャー、ゲームエンジンでは、Chromium Embedded Framework(CEF) を組み込んで Web コンテンツをホストすることが一般的です。例としては CefSharp や、ゲームエンジンに同梱される CEF ベースのブラウザなどが挙げられます。
AgeKey の要件はデスクトップ Chrome と同じで、基盤となる Chromium ブランチに Related Origin Requests が含まれている必要があります。この機能は Chromium 129 で導入されました。CEF 129 未満では、既存の AgeKey を使用した認証がエラーを出さずに失敗するため、ウィジェットは AgeKey を非表示にし、別の検証方式を提示します。
| CEF ブランチ | AgeKey のステータス |
|---|---|
| CEF 129 未満 | 使用不可。ウィジェットは AgeKey を非表示にし、別の検証方式を提示します。 |
| CEF 129+ | 完全対応。AgeKey の作成と再利用は、OS のプラットフォーム認証器(Windows Hello、Touch ID)を介して動作します。 |
特定のデバイスまたはブラウザ構成についてご質問がある場合は、担当の k-ID アカウント担当者または k-ID までお問い合わせください。