跳到主要内容

概述

欢迎使用 DID Connect,这是一个专为使用去中心化标识符(DID)进行无缝且安全身份验证而设计的协议。本库 @arcblock/did-connect-js 提供了将 DID Connect 集成到您的 Node.js 应用程序中所需的工具,使用户能够登录、证明资产所有权、签署交易等,所有操作都在其 DID Wallet 的安全保障下完成。

DID Connect 通过让用户控制自己的数字身份来为用户赋能,同时为开发者提供了一种构建下一代应用程序的直接方法。有关该协议本身的更多信息,请访问官方网站 https://www.didconnect.io

本库旨在与 DID Connect UX 包协同工作,后者提供了完整用户体验所需的前端组件。

核心概念

该库的核心是两个主要类,用于管理整个 DID Connect 会话:

WalletAuthenticator

此类负责应用程序端的加密交换。它配置您应用程序的身份(名称、描述、图标),定义其交互的区块链,并处理与用户钱包之间所有消息的签名和验证。

WalletHandlers

此类充当您 Web 服务器(例如 Express.js)的中间件。它管理 DID Connect 会话的生命周期,从创建初始二维码到处理最终的钱包响应。您可以使用它来定义需要从用户那里获取哪些信息(声明),以及在成功验证后执行哪些业务逻辑。

DID Connect 工作流程

一个典型的 DID Connect 会话涉及您的应用程序与用户的 DID Wallet 之间基于二维码的安全交互。该过程确保用户始终处于控制地位,并且必须明确同意任何请求的操作或数据共享。

下图说明了端到端的流程:

Overview

关键概念:声明

DID Connect 会话中的核心概念是声明 (Claim)。声明是您的应用程序向用户请求的一条信息。这可以是任何内容,从基本的个人资料数据到加密签名。

例如,您可以请求:

  • 个人资料声明 (Profile Claim),以获取用户的姓名和电子邮件地址。
  • 资产声明 (Asset Claim),以验证用户拥有特定的 NFT。
  • 签名声明 (Signature Claim),让用户签署一条消息,例如同意服务条款。

该库支持多种多样的声明类型,每种都为特定用例而设计。您可以在声明参考部分详细了解它们。

后续步骤

现在您对 DID Connect 有了大致了解,可以进行更深入的探索了。下一步取决于您的目标。