---
title: Passkey
canonical: https://developer.unico.io/zh-CN/dual-api/developers/sdks-and-tools/android/installation/passkey
locale: zh-CN
generated_by: markdown-export
---

## 启用 Passkey

Passkey 通过 **SDK 门户**启用。Android 集成无需任何代码改动——激活完全由平台端处理。

:::note
Passkey 目前仅适用于 **Android**。iOS SDK 不支持此功能。
:::

## 技术背景：Digital Asset Links（DAL）

Android 上的 Passkey 使用 Digital Asset Links 协议，在客户端的原生应用程序与 Unico 的 Web 域之间建立可验证的安全关联。根据 Android 操作系统的设计，此链接是 Google 移动应用程序中使用 passkey 进行身份验证的必要条件。

## 安全验证的工作原理

在为 passkey 生成密钥对之前，Android 验证器会将服务器响应中存在的 Relying Party ID（RP ID）与 Digital Asset Links 文件中指定的域名进行核对。若此验证未通过，Passkey 将无法正常工作。

**什么是 SHA-256，为什么需要它？**

SHA-256 指纹是从应用程序签名证书生成的唯一哈希值，用于标识应用程序的真实性和完整性。

此证书对应于在 Google Play 商店分发前用于签署 APK/AAB 的密钥。需要将此指纹注册到由 Unico 托管、路径为 `/.well-known/assetlinks.json` 的 `assetlinks.json` 文件中。该文件完全由 Unico 管理，只能通过提交支持工单进行更新。

## assetlinks.json 文件的结构

该文件必须包含两个特定权限：

- `delegate_permission/common.handle_all_urls` — 用于 Android App Links
- `delegate_permission/common.get_login_creds` — 用于在网站和 Android 应用程序之间共享凭据

……以及客户端的**包名**和 **SHA-256 指纹**。

:::note
SHA-256 必须在两个地方注册：公开的 `assetlinks.json` 文件和服务器配置（预期来源）。请为所有正在使用的签名配置注册指纹——调试版、发布版以及任何 product flavor——因为每种配置会生成不同的指纹。
:::

## 如何获取 SHA-256

可以使用 Java Development Kit (JDK) 的 `keytool` 工具提取 SHA-256 指纹，或直接在 Google Play 控制台的 **App Signing** 部分（位于 **Setup > App integrity** 下）查找。

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

## 先决条件摘要

在任何 passkey 操作成功执行之前，必须满足以下条件：

- 应用程序的包名和 SHA-256 指纹已在 Unico 的 `assetlinks.json` 文件中注册（提交支持工单以注册或更新指纹）
- 应用程序的 SHA-256 指纹已在服务器配置（预期来源）中注册
- 所有正在使用的签名配置（调试版、发布版、product flavor）的指纹均已注册

## 参考资料

- [Google — Passkeys 开发者指南](https://developers.google.com/identity/passkeys/developer-guides)
- [Android Credential Manager 前提条件](https://developer.android.com/identity/credential-manager/prerequisites)
- [Digital Asset Links — Android 文档](https://developer.android.com/training/app-links/verify-android-applinks)
- [签署您的应用程序 — Android Studio](https://developer.android.com/studio/publish/app-signing)
- [W3C Web Authentication (WebAuthn) 规范](https://www.w3.org/TR/webauthn/)