歡迎使用 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
此類別作為您的網頁伺服器(例如 Express.js)的中介軟體。它管理 DID Connect 會話的生命週期,從建立初始的 QR code 到處理最終的錢包回應。您可以使用它來定義需要從使用者那裡獲取哪些資訊(聲明),以及在成功驗證後執行哪些業務邏輯。
DID Connect 工作流程
一個典型的 DID Connect 會話包含您的應用程式與使用者的 DID Wallet 之間基於 QR code 的安全互動。此過程確保使用者始終掌握控制權,並且必須明確同意任何請求的操作或資料共享。
下圖說明了端到端的流程:

關鍵概念:聲明 (Claims)
DID Connect 會話中的核心概念是聲明 (Claim)。聲明是您的應用程式向使用者請求的一則資訊。這可以是任何東西,從基本的個人資料到加密簽名。
例如,您可以請求:
- 個人資料聲明 (Profile Claim),以獲取使用者的姓名和電子郵件地址。
- 資產聲明 (Asset Claim),以驗證使用者擁有特定的 NFT。
- 簽名聲明 (Signature Claim),讓使用者簽署一則訊息,例如同意服務條款。
本函式庫支援多種聲明類型,每種類型都為特定使用情境而設計。您可以在 聲明參考 章節中深入了解它們。
後續步驟
現在您對 DID Connect 有了總覽性的了解,可以準備好深入探索了。您的下一步取決於您的目標。