メインコンテンツへスキップ

概要

DID Connect へようこそ。これは、分散型識別子(DID)を使用したシームレスで安全な認証のために設計されたプロトコルです。このライブラリ @arcblock/did-connect-js は、DID Connect を Node.js アプリケーションに統合するために必要なツールを提供します。これにより、ユーザーは DID Wallet のセキュリティのもと、ログイン、資産の所有権証明、トランザクションへの署名などを行うことができます。

DID Connect は、ユーザーに自身のデジタルアイデンティティの管理権限を与え、開発者には次世代アプリケーションを構築するための簡単な方法を提供します。プロトコル自体の詳細については、公式サイト https://www.didconnect.io をご覧ください。

このライブラリは、完全なユーザーエクスペリエンスに必要なフロントエンドコンポーネントを提供する DID Connect UX パッケージ と連携して動作するように設計されています。

コアコンセプト

このライブラリの中心には、DID Connect セッション全体を管理する2つの主要なクラスがあります。

WalletAuthenticator

このクラスは、暗号交換におけるアプリケーション側の責務を担います。アプリケーションのアイデンティティ(名前、説明、アイコン)を設定し、対話するブロックチェーンを定義し、ユーザーのウォレットとの間で送受信されるすべてのメッセージの署名と検証を処理します。

WalletHandlers

このクラスは、ウェブサーバー(例:Express.js)のミドルウェアとして機能します。最初の QR コードの作成から最終的なウォレットの応答処理まで、DID Connect セッションのライフサイクルを管理します。これを使用して、ユーザーから必要とする情報(クレーム)と、認証成功時に実行するビジネスロジックを定義します。

DID Connect のワークフロー

典型的な DID Connect セッションでは、アプリケーションとユーザーの DID Wallet との間で、QR コードに基づいた安全なインタラクションが行われます。このプロセスにより、ユーザーは常に管理権限を持ち、要求されたアクションやデータ共有に対して明示的に同意する必要があります。

以下の図は、エンドツーエンドのフローを示しています。

Overview

主要な概念:クレーム

DID Connect セッションにおける中心的な概念はクレームです。クレームとは、アプリケーションがユーザーに要求する情報の一部です。これは、基本的なプロフィールデータから暗号署名まで、あらゆるものが対象となります。

例えば、以下のようなものを要求できます。

  • プロフィールクレーム:ユーザーの名前とメールアドレスを取得します。
  • 資産クレーム:ユーザーが特定の NFT を所有していることを検証します。
  • 署名クレーム:利用規約への同意など、ユーザーにメッセージへの署名を求めます。

このライブラリは、特定のユースケースに合わせて設計されたさまざまな種類のクレームをサポートしています。詳細については、クレームリファレンス のセクションで確認できます。

次のステップ

DID Connect の概要を理解したところで、さらに深く掘り下げる準備ができました。次にどこへ進むかは、あなたの目標次第です。