---
title: パスキー
canonical: https://developer.unico.io/ja/dual-api/developers/sdks-and-tools/android/installation/passkey
locale: ja
generated_by: markdown-export
---

## パスキーの有効化

パスキーは **SDK Portal** から有効化します。Android側のインテグレーションに変更は不要です。有効化はプラットフォーム側で完結します。

:::note
パスキーは現在 **Androidのみ** 対応しています。iOS SDKはこの機能をサポートしていません。
:::

## 技術的背景: Digital Asset Links (DAL)

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が完全に管理しており、サポートチケットを提出することでのみ更新できます。

## assetlinks.jsonファイルの構造

このファイルには2つの特定のパーミッションを含める必要があります:

- `delegate_permission/common.handle_all_urls` — Android App Links用
- `delegate_permission/common.get_login_creds` — WebサイトとAndroidアプリ間での認証情報の共有用

…さらに、クライアントの**パッケージ名**と**SHA-256フィンガープリント**が必要です。

:::note
SHA-256は2か所に登録する必要があります: 公開されている`assetlinks.json`ファイルとサーバー設定（想定されるオリジン）です。使用しているすべての署名設定（デバッグ、リリース、任意のプロダクトフレーバー）のフィンガープリントを登録してください。それぞれが異なるフィンガープリントを生成するためです。
:::

## SHA-256の取得方法

Java Development Kit (JDK)の`keytool`ツールを使用してSHA-256フィンガープリントを抽出するか、Google Play Consoleの**App Signing**セクション（**Setup > App integrity**）で直接確認することができます。

```bash
keytool -list -v -keystore <your-keystore.jks> -alias <key-alias>
```

## 前提条件のまとめ

パスキーの操作を成功させるには、以下の条件が満たされている必要があります:

- アプリのパッケージ名とSHA-256フィンガープリントがUnicoの`assetlinks.json`ファイルに登録されていること（フィンガープリントの登録・更新はサポートチケットを提出してください）
- アプリのSHA-256フィンガープリントがサーバー設定（想定されるオリジン）に登録されていること
- 使用しているすべての署名設定（デバッグ、リリース、プロダクトフレーバー）のフィンガープリントが登録されていること

## 参考資料

- [Google — パスキー開発者ガイド](https://developers.google.com/identity/passkeys/developer-guides)
- [Digital Asset Linksファイル (Halodocブログ)](https://blogs.halodoc.io/streamlining-logins-and-reducing-cost-passkey-integration-in-android-apps/)
- [アプリの真正性と整合性 (LoginIDドキュメント)](https://docs.loginid.io/reference-documentation/mobile/android/)
- [assetlinks.jsonファイルの準備 (Ping Identity)](https://docs.pingidentity.com/sdks/latest/sdks/use-cases/mobile-biometrics/android/01-prepare-assetlinks-json-file.html)
- [Android Credential Managerの前提条件](https://developer.android.com/identity/credential-manager/prerequisites)
- [アプリへの署名 — Android Studio](https://developer.android.com/studio/publish/app-signing)
- [AndroidでのPasskeys実装: フルスタックガイド (Droidcon)](https://www.droidcon.com/2025/05/19/implementing-passkeys-in-android-a-full-stack-guide/)