なりすまし攻撃やリプレイ攻撃 (subject_token を不正に侵害または再利用しようとする試行) を防ぐため、Custom Token Exchange は Suspicious IP Throttling をサポートしています。これにより、Actions コード内で subject_token が無効であることを示せるため、Auth0 はその外部 IP から送信された失敗試行の回数をカウントできます。ある IP アドレスからの失敗試行回数が事前設定されたしきい値に達すると、Auth0 はその IP からの Custom Token Exchange リクエストを、次のエラーでブロックします。
HTTP/1.1 429 Too Many RequestsContent-Type: application/json{ "error": "too_many_attempts", "error_description": "We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator."}
IP アドレスは、設定された一定時間が経過すると再びリクエストを送信できるようになります。すべての Custom Token Exchange のユースケース、特にネイティブアプリケーションおよびシングルページアプリケーション (SPA) では、Suspicious IP Throttling を使用することを推奨します。ネイティブアプリケーションや SPA などの非機密アプリケーションは、自身を認証するためのシークレットを安全に保存できないため、攻撃者は盗難または漏えいしたサブジェクトトークンをより容易に再利用できます。
Suspicious IP Throttling 保護を実装するには、受信したサブジェクトトークンが十分に検証を通過しなかった場合に、Actions コードで api.access.rejectInvalidSubjectToken を使用します。
Suspicious IP Throttling は、Auth0 テナントでデフォルトで有効化されています。有効化されている場合、Custom Token Exchange には次のデフォルト設定が適用されます。