> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Aprenda a usar Attack Protection con Custom Token Exchange.

# Attack Protection con Custom Token Exchange

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Beta",
    "ea": "Acceso anticipado"
  };
  const stageText = stageTextMap[stage] || "una etapa de lanzamiento del producto";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>Esta funcionalidad está disponible en los {linkify(`planes ${plans}`, "https://auth0.com/pricing")}. </>}
            {contact && "Para participar, ponte en contacto con " + contact + ". "}
            {terms && <>Al usar esta funcionalidad, aceptas los términos aplicables de la prueba gratuita incluidos en el {linkify("Master Subscription Agreement", "https://www.okta.com/legal")} de Okta.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>La funcionalidad {feature} está en {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Intercambio de tokens personalizado (CTE)" stage="ea" plans="B2C Professional, B2B Professional y Enterprise" terms="true" />

Para protegerse contra ataques de suplantación y de repetición, que implican intentos no autorizados de comprometer o reutilizar un `subject_token`, el Intercambio de tokens personalizado admite [Suspicious IP Throttling](/es/docs/secure/attack-protection/suspicious-ip-throttling). Esto le permite indicar en su código de Actions cuándo un `subject_token` no es válido, lo que permite a Auth0 contabilizar la cantidad de intentos fallidos enviados desde esa IP externa.

Cuando la cantidad de intentos fallidos desde una dirección IP alcanza un umbral preconfigurado, Auth0 bloquea el tráfico de una solicitud de Intercambio de tokens personalizado procedente de esa IP con el siguiente error:

```json lines theme={null}
HTTP/1.1 429 Too Many Requests
Content-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."
}
```

La dirección IP puede volver a hacer solicitudes después de un período de tiempo configurado.

Recomendamos usar Suspicious IP Throttling en todos los casos de uso de Custom Token Exchange, especialmente con aplicaciones nativas y aplicaciones de una sola página (SPA). Dado que las aplicaciones no confidenciales, como las aplicaciones nativas y las SPA, no pueden almacenar secretos de forma segura para autenticarse, a los atacantes les resulta más fácil reutilizar subject tokens robados o filtrados.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Para implementar la protección de Suspicious IP Throttling, use `api.access.rejectInvalidSubjectToken` en su código de Actions siempre que el subject token recibido no supere una validación estricta.
</Callout>

Suspicious IP Throttling está activado de forma predeterminada para los inquilinos de Auth0. Cuando está activado, se aplican los ajustes predeterminados de Custom Token Exchange:

* Umbral: 10. Número máximo de intentos fallidos para una dirección IP.
* Tasa de limitación: 6 por hora. Habrá un intento adicional disponible cada 10 minutos hasta que se restablezca el umbral.

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/47PB3OAci9fotSHFrCNBVn/1bafbaacbeb22a4d94eb78506ab89bb8/Screenshot_2025-02-03_at_4.44.29_PM.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=4282d5cd7fe55cb8e2df4e0ddc14ee88" alt="" width="1244" height="966" data-path="docs/images/cdy7uua7fh8z/47PB3OAci9fotSHFrCNBVn/1bafbaacbeb22a4d94eb78506ab89bb8/Screenshot_2025-02-03_at_4.44.29_PM.png" />
</Frame>

<div id="configure-suspicious-ip-throttling-for-custom-token-exchange">
  ## Configurar Suspicious IP Throttling para Custom Token Exchange
</div>

Puede configurar un umbral personalizado y una tasa de limitación para Custom Token Exchange con la Management API.

Primero, [obtenga un token de Management API](/es/docs/secure/tokens/access-tokens/management-api-access-tokens#get-management-api-tokens) para usar la API. Luego, realice la siguiente solicitud `GET` al [endpoint para obtener la configuración de Suspicious IP Throttling](https://auth0.com/docs/api/management/v2/attack-protection/get-suspicious-ip-throttling):

```bash lines theme={null}
curl --location 'https://{yourDomain}/api/v2/attack-protection/suspicious-ip-throttling' \
--header 'Authorization: Bearer <YOUR_MANAGEMENT_API_TOKEN>' \
```

Recibirá una respuesta como la siguiente:

```json lines theme={null}
{
  "enabled": true,
  "shields": [
    "admin_notification",
    "block"
  ],
  "allowlist": [],
  "stage": {
    "pre-login": {
      "max_attempts": 100,
      "rate": 864000
    },
    "pre-user-registration": {
      "max_attempts": 50,
      "rate": 1200
    },
    "pre-custom-token-exchange": {
      "max_attempts": 10,
      "rate": 600000
    }
  }
}
```

Use la siguiente solicitud `PATCH` para actualizar la etapa `pre-custom-token-exchange` con los valores necesarios. Tenga en cuenta que la tasa define el intervalo de tiempo, en milisegundos, tras el cual se conceden nuevos intentos.

```bash lines theme={null}
curl --location --request PATCH 'https://{yourDomain}/api/v2//attack-protection/suspicious-ip-throttling' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR_MANAGEMENT_API_TOKEN>' \
--data '{"stage":{"pre-custom-token-exchange":{"max_attempts":10,"rate":600000}}}'
```
