前提条件
- WordPress 6.0以上
- PHP 7.4以上
- Didit Consoleのアカウント
ステップ1: Diditの認証情報を取得する
- business.didit.meでサインアップまたはログインします
- API & Webhooksに移動し、API Keyをコピーします
- Workflowsに移動し、ワークフローを作成または選択して、Workflow IDをコピーします
UniLink URLを使うと、APIキーなしで認証フローをプレビューできます。
コンテンツゲートやWooCommerceの認証要件には、APIキーとワークフローIDを指定したAPI Sessionモードを使用してください。
UniLinkでの完了だけでは、保護されたコンテンツのロック解除や注文の承認は行われません。
ステップ2: プラグインをインストールする
- 0.3.4リリースから
didit-verify-0.3.4.zipをダウンロードします - WordPressの管理画面で、プラグイン → 新規追加 → プラグインのアップロードに移動します
- ダウンロードしたZIPファイルを選択し、今すぐインストールをクリックします
- 有効にするをクリックします
Didit VerifyはWordPress.orgにも掲載されています。
インストール前にバージョンを確認してください。ここで説明するサーバー確認済みの認証動作を利用するには、0.3.4以降を使用してください。
0.3.4以降では、承認済みの認証が後から却下され、期限切れになり、またはレビュー中に戻った場合、保護されたコンテンツへのアクセスが取り消されます。
ディレクトリに古いバージョンしかない場合は、上記のリリースZIPをインストールしてください。
ステップ3: プラグインを設定する
設定 → Didit Verifyに移動します。モードを選択する
UniLinkの場合: Modeを「UniLink」に設定し、URLを貼り付けて保存します。
API Sessionの場合: Modeを「API Session」に設定し、ワークフローIDとAPIキーを入力して保存します。
APIキーはサーバー上に安全に保存され、訪問者に公開されることはありません。
セッションオプションを設定する(APIモードのみ)
以下は、より細かく制御するための任意の設定です。- Vendor Data: 各認証をDiditダッシュボード上の特定のユーザーに紐付け、誰が認証したかを追跡できるようにします。デフォルトはWordPressのユーザーID(例:
wp-42)です。ユーザーのメールアドレスやカスタムプレフィックスを選択するか、無効にすることもできます。 - Callback URL: 認証後にユーザーがリダイレクトされる、サイト上のページです。Diditはクエリパラメーターとして
verificationSessionIdとstatusを付加します。 - Callback Method: どのデバイスがリダイレクトを処理するかを指定します。
initiator(開始したデバイス)、completer(完了したデバイス)、またはbothです。 - Language: 49の言語から選択するか、ブラウザから自動検出させます。
表示オプションを設定する
- Display Mode: Modal(ポップアップオーバーレイ)またはEmbedded(ページ内にインライン表示)
- Close Button: モーダルのXボタンの表示・非表示
- Exit Confirmation: 閉じる際に「よろしいですか?」ダイアログを表示
- Auto-close: 認証完了時にモーダルを自動で閉じる
- Debug Logging: SDKイベントをブラウザのコンソールに記録(トラブルシューティング用)
ボタンをカスタマイズする
Button Appearanceでは、以下を変更できます。- ボタンのテキストと成功時のテキスト
- 背景色と文字色
- 角の丸み、パディング、フォントサイズ
ステップ4: サイトに認証を追加する
WooCommerceストアの場合
- 設定 → Didit Verify → WooCommerceで、Require identity verification at checkoutにチェックを入れます
- 認証セクションを表示する位置を選択します。
- チェックアウトページの上部
- 請求先情報の後
- 注文メモの後
- 「注文する」の前(推奨)
- 必要に応じてProduct Scopeを選択します。すべての商品(デフォルト)、選択した商品のみ、または選択した商品以外のすべての商品から選べます。 商品エディターのProduct data → AdvancedにあるDidit verificationチェックボックスで商品を指定します。 認証が必要な商品が1つ以上含まれるカートでは、認証が必須になります。 この範囲は、チェックアウトモードと購入後モードの両方に適用されます。
- 必要に応じて、設定 → Didit Verify → WooCommerceでSection Title、Checkout Message、Post-purchase Messageを編集します。空のフィールドにはデフォルトのテキストが使用されます
- 必要に応じてSend Billing Dataを有効にすると、顧客の氏名、メールアドレス、電話番号、住所がDiditに自動送信され、事前入力とクロスバリデーションに使用されます
国コードは、WooCommerceのalpha-2形式から、Diditが必要とするalpha-3形式に自動で変換されます。
任意のWordPressページの場合
任意の固定ページまたは投稿に、次のショートコードを追加します。ステップ5: 認証済みユーザーにコンテンツを限定する (任意)
認証ステータスに応じてコンテンツを表示または非表示にします。 コンテンツの制限には、ログイン済みのユーザーであることと、API Sessionモードで確認された承認が必要です。 ブラウザのコールバックやリダイレクトのクエリパラメーターではアクセスは許可されません。認証ステータスの確認
トラブルシューティング
セキュリティ
このプラグインは安全なバックエンドプロキシとして動作します。APIキーがブラウザに渡ることはありません。すべてのセッションリクエストは次の仕組みで保護されています。- CSRF nonce: リクエストはお使いのWordPressサイトから送信されたものでなければなりません
- ログイン必須: セッションを作成できるのは登録済みのユーザーのみです (設定で変更可能)
- レート制限: ユーザーごとに1時間あたり10セッション、ゲストはIPごとに1時間あたり3セッションまでです
- 入力のサニタイズ: すべてのフィールドはサーバー側でホワイトリスト方式で検証され、サニタイズされます
開発者向け
PHPフック
このプラグインは、他のプラグインやテーマからフックできるWordPressアクションを発火します。JavaScriptイベント
認証が完了すると、DOMイベントがディスパッチされます。PHPで認証を確認する
didit:completeイベントだけを根拠にアクセスを許可しないでください。