記事

Webhookのセキュリティを次なるステージへ:OAuth 2.0導入ガイド

2025年12月3日
 ·  5 分
Hands working together to beat the fraudster, drawing a jail over a ghost.

Webhookに含まれる機密性の高い決済データを保護するには、認可フローの強化が不可欠です。Adyenでは、決済イベントの安全性をより確実に保護するため、決済のWebhookにおいて、新たにOAuth 2.0(Open Authorization)のサポートを開始いたしました。有効期限の短いアクセストークンを活用することで、より安全性の高いデータ保護を実現します。

なぜOAuth 2.0が必要なのか

OAuth 2.0は、アプリケーション間で安全な認可を実現するための業界標準プロトコルです。認証情報を直接共有するのではなく、一時的なアクセストークンを用いることで、セキュリティリスクを大幅に低減することができます。

主なメリット

  • 漏洩リスクの低減:アクセストークンは、数時間の短い有効期限で発行されます。そのため、万が一アクセストークンが傍受された場合でも、悪用される期間を抑えることができます。

  • 多層防御による安全性の向上:OAuth 2.0を既存のHMAC署名と組み合わせることで、Webhookの内容をより安全に受信・検証でき、強固な防御体制を構築できます。

  • 業界標準への準拠:OAuth 2.0は、オープンプロトコルとしてすでに多くのシステムで採用されているため、エンジニアの学習コストや工数を抑えることができます。

※現在、OAuth 2.0は「標準のWebhook」タイプのみでご利用いただけます。

OAuth 2.0の認可フロー

OAuth 2.0を実装すると、AdyenはOAuthクライアントとして機能し、Webhookイベントを配信するための認可を得るために、加盟店の認可サーバーからアクセストークンを取得します。

  1. Adyenは、加盟店のOAuth 2.0アイデンティティプロバイダー(IdP)の認可サーバーに対して、アクセストークンの発行をリクエストします。

  2. 認可サーバーでクライアント認証が完了すると、アクセストークンが発行されます。

  3. Adyenは、発行されたアクセストークンを各Webhookイベントのヘッダーに付与して送信します。これにより、エンドポイント(加盟店のシステム)で、リクエストの正当性の確認が可能になります。

OAuth 2.0設定ガイド

OAuth 2.0の設定は、「アイデンティティプロバイダー(IdP)での設定」と「Customer Areaでの設定」の2段階で行います。

ステップ1:アイデンティティプロバイダー(IdP)の設定

まず、ご利用のアイデンティティプロバイダー開発者コンソール上で、Adyenが認可を得るためのアプリケーションを作成します。

  1. ご利用のアイデンティティプロバイダーにて、新しいアプリケーション(またはクライアント)を作成します。

  2. 認証情報の設定に必要なクライアントIDクライアントシークレット、およびトークンURLを発行します。

  3. スコープを定義します(任意ですが、より細かなアクセス制御のため推奨されます)。

【重要】アクセストークンのTTL(有効期限)は、3599秒以上に設定してください。これにより、Adyenのバックグラウンドプロセスが効率的に更新処理を行うことができ、サービスの中断を回避できます。

ステップ2:Customer AreaでのWebhook設定

次に、AdyenのCustomer AreaでWebhookの設定を更新します。

  1. Customer Areaにログインし、「デベロッパー」>「Webhooks」の順に移動します。

  2. 編集対象の標準のWebhookを選択するか、新規作成します。

  3. 「セキュリティ」にてOAuthを選択します。

  4. ステップ1で生成した各情報(クライアントIDクライアントシークレットトークンURLスコープ)を入力します。

  5. 「設定を保存」をクリックし、最後に正常に連携されていることを確認してください。

Webhookセキュリティのベストプラクティス

  • クライアントシークレットの保護:クライアントシークレットは厳重に管理し、悪用を防ぐため、クライアントサイドのコードに埋め込まないようにしてください。

  • スコープにおける最小権限の原則:最小権限の原則に従い、アクセストークンに付与する権限は必要最小限に留めてください。スコープはセキュリティ上必須の設定であり、システムがリソースにアクセスできる範囲を定義します。

  • 認証情報のローテーション:固定の認証情報はリスクを伴います。OAuth 2.0を利用する場合でも、Customer Areaに保存されているクライアントシークレットを定期的にローテーションすることをお勧めします。この予防措置を講じることで、万が一クライアントシークレットがログに記録されたり、外部に漏洩したりした場合でも、不正利用者による継続的な悪用を阻止できます。

今後の展開

2026年第2四半期末を目処に、すべてのプラットフォーム向けWebhookでOAuth 2.0が利用可能になる予定です。最新情報は「The Latest」で随時公開しますので、ぜひ開発者向けニュースレターを購読してご確認ください。

【重要】現在、基本認証も引き続きご利用いただけますが、将来的には廃止を予定しています。業界標準のよりセキュアな規格であるOAuth 2.0への早期移行を強く推奨いたします。

セキュリティを次なるステージへ 基本認証のサポート廃止に先駆けて、早期にOAuth 2.0に移行することで、Webhookのセキュリティを強化しましょう。業界標準である有効期限の短いアクセストークン認可により、インテグレーションの安全性を高め、ビジネスにおけるセキュリティリスクの大幅な軽減が目指せます。

最新の情報を直接お届け