パスキー
パスキーは SDK Portal から有効化します。Android側のインテグレーションに変更は不要です。有効化はプラットフォーム側で完結します。
パスキーは現在 Androidのみ 対応しています。iOS SDKはこの機能をサポートしていません。
AndroidのパスキーはDigital Asset Linksプロトコルを使用して、クライアントのネイティブアプリケーションとUnicoのWebドメインの間に検証可能で安全な関連付けを確立します。このリンクは、Googleモバイルアプリケーションでパスキーによる認証を行うために、Androidオペレーティングシステムの設計上必須です。
パスキーのキーペアを生成する前に、AndroidのAuthenticatorはサーバーのレスポンスに含まれるRelying Party ID (RP ID)を、Digital Asset Linksファイルに指定されたドメイン名と照合して検証します。この検証が成功しなければ、パスキーは機能しません。
SHA-256とは何か、なぜ必要なのか?
SHA-256フィンガープリントは、アプリの署名証明書から生成された一意のハッシュであり、アプリの真正性と整合性を識別するために使用されます。
この証明書は、Google Play Storeで配布する前にAPK/AABに署名するために使用されたキーに対応しています。このフィンガープリントを、Unicoが/.well-known/assetlinks.jsonというパスでホストするassetlinks.jsonファイルに登録する必要があります。このファイルはUnicoが完全に管理しており、サポートチケットを提出することでのみ更新できます。
このファイルには2つの特定のパーミッションを含める必要があります:
delegate_permission/common.handle_all_urls— Android App Links用delegate_permission/common.get_login_creds— WebサイトとAndroidアプリ間での認証情報の共有用
…さらに、クライアントのパッケージ名とSHA-256フィンガープリントが必要です。
SHA-256は2か所に登録する必要があります: 公開されているassetlinks.jsonファイルとサーバー設定(想定されるオリジン)です。使用しているすべての署名設定(デバッグ、リリース、任意のプロダクトフレーバー)のフィンガープリントを登録してください。それぞれが異なるフィンガープリントを生成するためです。
Java Development Kit (JDK)のkeytoolツールを使用してSHA-256フィンガープリントを抽出するか、Google Play ConsoleのApp Signingセクション(Setup > App integrity)で直接確認することができま す。
keytool -list -v -keystore <your-keystore.jks> -alias <key-alias>
パスキーの操作を成功させるには、以下の条件が満たされている必要があります:
- アプリのパッケージ名とSHA-256フィンガープリントがUnicoの
assetlinks.jsonファイルに登録されていること(フィンガープリントの登録・更新はサポートチケットを提出してください) - アプリのSHA-256フィンガープリントがサーバー設定(想定されるオリジン)に登録されていること
- 使用しているすべての署名設定(デバッグ、リリース、プロダクトフレーバー)のフィンガープリントが登録されていること