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

APIリファレンス

このセクションでは、@arcblock/did-connect-react ライブラリ全体で使用される主要なTypeScript型すべてに関する包括的なリファレンスを提供します。これらのデータ構造を理解することは、SessionProviderのようなコンポーネントやuseConnectのようなフッ

このセクションでは、@arcblock/did-connect-react ライブラリ全体で使用される主要なTypeScript型すべてに関する包括的なリファレンスを提供します。これらのデータ構造を理解することは、SessionProviderのようなコンポーネントやuseConnectのようなフックを効果的に使用する上で非常に重要です。

接続タイプ

これらのタイプは、主にDID Connectモーダルの設定や操作時に使用されます。

ConnectProps

これは、useConnectフックのopen関数またはセッションコンテキストのopenDidConnect関数に渡される主要な設定オブジェクトです。これにより、接続フローの動作と外観を広範囲にカスタマイズできます。

  • action string (required) — 接続の主要なアクション。例: 'login'。
  • containerEl Element — 接続モーダルを追加するDOM要素。
  • prefix string (default: /api/did) — DID ConnectサービスのAPIエンドポイントプレフィックス。
  • locale 'en' | 'zh' (default: en) — UIで使用される言語。
  • popup boolean (default: false) — trueの場合、接続UIはモーダルの代わりにポップアップウィンドウで表示されます。
  • checkInterval number (default: 2000) — セッションステータスをチェックする間隔(ミリ秒)。
  • checkTimeout number (default: 300000) — セッションチェックプロセス全体タイムアウト(ミリ秒)(5分)。
  • closeTimeout number (default: 2000) — 接続成功後にモーダルを閉じるまでの遅延時間(ミリ秒)。
  • extraParams object (default: {}) — 接続リクエストと共に送信される追加のパラメータ。
  • tokenKey string (default: _t_) — セッショントークンを保存するために使用されるキー。
  • encKey string (default: _ek_) — 暗号化に使用されるキー。
  • baseUrl string (default: '') — APIリクエストのベースURL。
  • messages ConnectMessages — 接続UIに表示されるテキストをカスタマイズするためのオブジェクト。
  • autoConnect boolean (default: true) — trueの場合、保存されたセッションを使用して自動的に接続を試みます。
  • forceConnected boolean | string (default: true) — 接続が確立されたものとして強制的に扱います。
  • saveConnect boolean (default: true) — trueの場合、成功した接続セッションはautoConnectのために保存されます。
  • useSocket boolean (default: true) — trueの場合、リアルタイムのステータス更新にWebSocketを使用します。
  • allowWallet boolean (default: true) — trueの場合、DID Wallet経由での接続を許可します。
  • passkeyBehavior 'none' | 'both' | 'only-existing' | 'only-new' (default: true) — 認証プロセス中にパスキーをどのように処理するかを定義します。
  • provider 'wallet' | 'auth0' | '' (default: wallet) — 認証プロバイダーを指定します。
  • qrcodeSize number (default: 160) — QRコードのサイズ(ピクセル単位)。
  • showDownload boolean (default: true) — trueの場合、DID Walletのダウンロードリンクを表示します。
  • webWalletUrl string (default: https://web.abtwallet.io) — ウェブベースのDID WalletのURL。
  • enabledConnectTypes Array<'web' | 'mobile' | 'auth0' | 'github' | 'apple' | 'google' | 'passkey'> (default: ["web", "mobile", "github", "apple", "google", "auth0", "passkey"]) — UIで有効にする接続方法の配列。
  • extraContent any — 接続モーダル内にレンダリングされるカスタムコンテンツ。
  • loadingEle any — 表示するカスタムローディング要素。
  • disableSwitchApp boolean (default: false) — trueの場合、モバイルデバイスでの自動アプリ切り替えを無効にします。
  • hideCloseButton boolean (default: false) — trueの場合、モーダルの閉じるボタンを非表示にします。
  • options object (default: {}) — 追加の設定オプション。
    • showQuickConnect boolean (default: true) — trueの場合、保存されたセッションのクイック接続オプションを表示します。
  • onRecreateSession Function — セッションが再作成されたときに実行されるコールバック関数。
  • checkFn () => boolean — 接続ステータスをチェックするためのカスタム関数。
  • onSuccess (result: object) => void — 接続が成功したときに実行されるコールバック関数。
  • onError (error: any) => void — エラーが発生したときに実行されるコールバック関数。
  • onClose Function — 接続モーダルが閉じられたときに実行されるコールバック関数。

ConnectMessages

DID Connect UI内に表示されるテキストをカスタマイズするためのオブジェクト。

  • title string (required) — 接続モーダルのメインタイトル。
  • scan string (required) — QRコードをスキャンするための指示テキスト。
  • success ReactNode (required) — 接続成功時に表示されるメッセージまたはコンポーネント。
  • confirm string — ユーザーにウォレットでのアクションの確認を促すテキスト。
  • error string — 表示するカスタムエラーメッセージ。

OpenDidConnect

この関数型は、高度な要件でDID Connectフローを開くためのシグネチャを定義します。これはしばしばプログレッシブ認証に使用されます。

  • params ConnectProps (required) — 標準の接続プロパティ。
  • options object — 接続モードを制御し、要件を指定するための追加オプション。
    • openMode 'redirect' | 'window' | 'popup' (default: popup) — DID Connectウィンドウの開き方を決定します。
    • requirements object — セッションの要件を指定します。
      • login boolean (default: true) — trueの場合、ユーザーがログインしている必要があります。
      • bindWallet boolean (default: true) — trueの場合、ユーザーがDID Walletアカウントをバインドしている必要があります。
      • bindDidSpaces false | 'read' | 'full' (default: false) — DID Spacesのバインドが必要かどうか、およびどのレベルのアクセスが必要かを指定します。
    • baseUrl string — APIリクエストのベースURL。
    • locale BaseLocale — UIの言語('en' または 'zh')。

セッションとユーザーのタイプ

これらのタイプは、SessionProviderによって管理されるユーザーとセッションデータの構造を定義します。

SessionProps

useSessionフックを介してアクセス可能なメインセッションオブジェクト。ユーザーの状態、セッション情報、およびセッションを管理するためのメソッドが含まれています。

  • action string — 現在実行中のアクション(例: 'login')。
  • error string — セッション管理中に発生したエラーメッセージ。
  • initialized boolean — セッションが初期化されている場合はtrue。
  • loading boolean — セッションが現在ローディング状態の場合はtrue。
  • open boolean — DID Connectモーダルが現在開いている場合はtrue。
  • walletOS WalletOS — 接続されたウォレットのオペレーティングシステム('web'、'android'、'ios')。
  • user User — 認証されたユーザーオブジェクト。ユーザーがログインしていない場合は未定義。
  • locale UserLocale — ユーザーの現在のロケール。
  • provider WalletProvider — 現在のセッションで使用されているプロバイダー。
  • baseUrl string — API呼び出しに使用されるベースURL。
  • federatedMaster object — フェデレーションログイングループのマスターサイトに関する情報。
  • login LoginSessionFn — ログインプロセスを開始する関数。
  • logout LogoutSessionFn — ユーザーをログアウトさせる関数。
  • switch Function — 異なるユーザーアカウントを切り替える関数。
  • switchDid CommonSessionFn — ユーザーのアクティブなDIDを切り替える関数。
  • autoSwitchDid Function — DIDを自動的に切り替える関数。
  • switchProfile CommonSessionFn — ユーザープロファイルを切り替える関数。
  • switchPassport CommonSessionFn — 異なるパスポートを切り替える関数。
  • bindWallet CommonSessionFn — ウォレットのバインドプロセスを開始する関数。
  • refresh Function — セッションデータを手動で更新する関数。
  • updateConnectedInfo (data: object) => void — 接続情報を更新する関数。
  • openDidConnect OpenDidConnect — 高度な要件でDID Connectモーダルを開く関数。
  • useOAuth Function — OAuth統合のためのフック。
  • OAuthProvider Function — OAuthコンテキストのプロバイダーコンポーネント。
  • OAuthConsumer Function — OAuthコンテキストのコンシューマーコンポーネント。
  • OAuthContext object — OAuth用のReactコンテキストオブジェクト。
  • usePasskey Function — パスキー統合のためのフック。
  • PasskeyProvider Function — パスキーコンテキストのプロバイダーコンポーネント。
  • PasskeyConsumer Function — パスキーコンテキストのコンシューマーコンポーネント。
  • PasskeyContext object — パスキー用のReactコンテキストオブジェクト。
  • useDid (options: { session: Session }) => void — DID情報を扱うためのユーティリティフック。
  • WrapDid Function — DID機能に関連するラッパーコンポーネント。
  • getUserSessions () => Promise<UserSession[]> — 現在のユーザーのすべてのアクティブなセッションを取得する関数。

User

認証されたユーザーの詳細なプロファイルを表します。

  • did string (required) — ユーザーの分散型識別子(DID)。
  • pk string (required) — ユーザーの公開鍵。
  • avatar string (required) — ユーザーのアバターのURL。
  • fullName string (required) — ユーザーのフルネーム。
  • email string (required) — ユーザーのメールアドレス。
  • role UserRole (required) — アプリケーション内でのユーザーの役割(例: 'guest'、'member'、'admin')。
  • locale UserLocale (required) — ユーザーの優先言語。
  • connectedAccounts ConnectAccount[] (required) — ユーザーのDIDに接続されているアカウントのリスト。
  • passports Passport[] (required) — ユーザーに関連付けられたパスポートのリスト。
  • permissions any[] (required) — ユーザーに付与された権限のリスト。
  • didSpace object — ユーザーのDID Spaceに関する情報。
  • approved boolean (required) — ユーザーが承認されているかどうかを示します。
  • remark string — ユーザーに関するオプションの備考またはメモ。
  • createdAt string (required) — ユーザーアカウントが作成されたときのタイムスタンプ。
  • updatedAt string (required) — ユーザーアカウントが最後に更新されたときのタイムスタンプ。
  • firstLoginAt string — ユーザーの初回ログイン時のタイムスタンプ。
  • lastLoginAt string — ユーザーの最終ログイン時のタイムスタンプ。
  • lastLoginIp string — ユーザーの最終ログイン時のIPアドレス。

UserSession

ユーザーの単一のアクティブなセッションを表し、通常はgetUserSessionsから取得されます。

  • id string (required) — セッションの一意の識別子。
  • appName string (required) — このセッションのアプリケーション名。
  • appPid string (required) — アプリケーションのパスポートID。
  • updatedAt string (required) — セッションが最後に更新されたときのタイムスタンプ。
  • userDid string (required) — このセッションのユーザーのDID。
  • visitorId string (required) — セッションに関連付けられたビジターID。
  • extra object (required) — セッションに関連付けられた追加データ。
  • user SessionUser (required) — セッション用の簡略化されたユーザーオブジェクト。
  • passportId string — このセッションで使用されたパスポートのID。

コアデータ型

これらは、他のさまざまなインターフェースで使用される基本的な文字列共用体型です。

タイプ説明可能な値
WalletProvider認証方法またはプロバイダーを識別します。wallet, auth0, apple, github, google, passkey
WalletOSDID Walletのオペレーティングシステムを表します。web, android, ios, '' (空文字列)
UserRoleアプリケーション内でのユーザーの役割を定義します。guest, member, admin, owner, または任意の string
BaseLocaleサポートされている言語の基本セット。en, zh
UserLocaleユーザーのロケール。基本ロケールまたはより具体的なロケールを指定できます。en, zh, または任意の string (例: 'en-US')