設定
このページの内容は、両方のモジュールがインストールおよび有効化済みで、WHMCSのAddons > Perfex CRM BridgeとPerfex CRMのSetup > WHMCS Bridgeにアクセスできることを前提としています。どちらかが見当たらない場合はインストールに戻ってください。WHMCS側でよくある原因は、Access Controlのチェック漏れです。
両側の認証の仕組み
両方のエンドポイントは、共有シークレットから導出したHMAC-SHA256署名によって、すべてのリクエストを認証します。
平易に説明すると、送信側はシークレットでリクエストボディに署名し、タイムスタンプを付与します。受信側は自身が保持するシークレットで署名を再計算し、署名が一致しないもの、またはタイムスタンプが300秒を超えて古いものを拒否します。このタイムスタンプのウィンドウが、後から取得済みのリクエストを再送されることを防ぎます。
その結果として、シークレットは両側でバイト単位まで完全に一致している必要があります。一致しなければ、すべてのリクエストが401で失敗します。また、各エンドポイントは自身のシークレットが空の間はすべての通信を拒否するため、設定が中途半端なブリッジは開いた状態ではなく閉じた状態になります。
両側とも使用前に先頭と末尾の空白を除去するため、コピー&ペーストの際に紛れ込んだスペースや改行が原因で動作しなくなることはありません。それ以外の部分は完全に一致している必要があります。
共有シークレットは、Perfexの顧客とコンタクトへの書き込み権限を与えます。Proライセンスがある場合は、さらに両側の請求書、支払い、注文、チケットへの書き込み権限も与えます。いずれかのデータベース、またはそのバックアップが流出した可能性がある場合は、直ちに両側でローテーションしてください。シークレットはtbladdonmodules(WHMCS)とtbloptions(Perfex)に平文で保存されます。これは双方のエコシステムにおける標準的な扱いであり、したがってデータベースにアクセスできる人はシークレットを取得できます。
ペアリング: 推奨される簡単な方法
設定を手作業で行き来してコピーする必要はありません。Perfexは、Perfex URLと共有シークレットの両方を含む1つのConnection codeを生成し、WHMCSはそれを1回貼り付けるだけで取り込みます。