Skip to main content
subject_token への不正な改ざんや再利用を試みる、なりすまし攻撃やリプレイ攻撃から保護するため、カスタムトークン交換は 不審な IP スロットリング をサポートしています。これにより、サブジェクトトークンが無効であることを Actions コード内で示せるため、Auth0 はその外部 IP から送信された失敗試行の回数をカウントできます。 ある IP アドレスからの失敗試行回数が事前に設定されたしきい値に達すると、Auth0 はその IP から送信されるカスタムトークン交換リクエストのトラフィックを、次のエラーでブロックします。
IP アドレスは、設定された期間が経過すると再びリクエストを送信できるようになります。 すべてのカスタムトークン交換のユースケース、特にネイティブアプリケーションやシングルページアプリケーション (SPA) では、不審な IP スロットリングの使用を推奨します。ネイティブアプリケーションや SPA などの非機密アプリケーションは、アプリケーション自身を認証するためのシークレットを安全に保存できないため、攻撃者に盗難または漏えいしたサブジェクトトークンを再利用されやすくなります。
不審な IP スロットリング保護を実装するには、受信したサブジェクトトークンが厳格なバリデーションを通過しない場合は、必ず Actions コードで api.access.rejectInvalidSubjectToken を使用してください。
不審な IP スロットリングは、Auth0 テナントでデフォルトで有効化されています。有効化されると、カスタムトークン交換には次のデフォルト設定が適用されます。
  • しきい値: 10。IP アドレスごとの失敗試行の最大回数です。
  • スロットリングレート: 1 時間あたり 6 回。しきい値が再び満たされるまで、10 分ごとに追加で 1 回試行できるようになります。

カスタムトークン交換の不審な IP スロットリングを設定する

Management API を使用すると、カスタムトークン交換のカスタムしきい値とスロットリングレートを設定できます。 まず、API を利用するために Management API トークンを取得 します。次に、不審な IP スロットリング設定を取得するエンドポイント に対して、次の GET リクエストを送信します。
以下のようなレスポンスが返されます。
必要な値を指定して pre-custom-token-exchange ステージを更新するには、次の PATCH リクエストを使用します。なお、rate は新しい試行が許可されるまでの時間間隔をミリ秒単位で表します。