> ## 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.

# Solicitudes de autorización push (PAR)

> Envíe los parámetros de autorización mediante una solicitud segura `POST` desde el backend para proteger los valores confidenciales de la exposición en el navegador.

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## Endpoint
</div>

`POST /oauth/par`

<Note>
  Para usar las funciones de Highly Regulated Identity, debe contar con un plan Enterprise y el add-on Highly Regulated Identity. Consulte [Auth0 Pricing](https://auth0.com/pricing) para obtener más información.
</Note>

El [Flujo de código de autorización con solicitudes de autorización push (PAR)](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-par) usa el endpoint `/oauth/par` para permitir que las aplicaciones envíen los parámetros de autorización que normalmente se envían en una solicitud `GET` a `/authorize`. PAR usa un método `POST` desde el backend para mantener seguros los valores de los parámetros. El endpoint `/oauth/par` acepta todos los parámetros de autorización que pueden proporcionarse a `/authorize`. Si la llamada al endpoint `/oauth/par` es válida, Auth0 responderá con un valor `redirect_uri` que puede usarse como parámetro para el endpoint `/authorize`.

Si la llamada al endpoint `/oauth/par` es válida, Auth0 responderá con un valor `redirect_uri` que también se usa como parámetro para el endpoint `/authorize`. Para obtener más información sobre cómo configurar PAR, consulte [Configurar solicitudes de autorización push (PAR)](https://auth0.com/docs/get-started/applications/configure-par).

<div id="remarks">
  ### Observaciones
</div>

* Para llamar al endpoint PAR, debe:
  * Establecer el tipo de contenido de la solicitud en `application/x-www-form-urlencoded`
  * Usar `cadenas` para todos los parámetros enviados
  * Incluir en la solicitud un parámetro adicional para la autenticación de la aplicación (por ejemplo, `client_secret`, o `client_assertion` y `client_assertion_type` para la autenticación de cliente mediante JSON Web Token, o enviar los encabezados `client-certificate` y `client-certificate-ca-verified` cuando use Mutual TLS).
* Use el parámetro `authorization_details` para solicitar permisos para cada recurso. Por ejemplo, puede especificar un array de objetos JSON para transmitir información detallada sobre la autorización. Cada objeto JSON debe contener un atributo `type`. El resto queda a su criterio.

<div id="headers">
  ## Encabezados
</div>

<ParamField header="DPoP" type="string">
  Una prueba de DPoP para la solicitud. Es opcional y solo se requiere si su aplicación usa DPoP (Demonstrating Proof-of-Possession).
</ParamField>

<div id="body-parameters">
  ## Parámetros del cuerpo
</div>

<ParamField body="authorization_details" type="string">
  Permisos solicitados para cada recurso, similares a los alcances.
</ParamField>

<ParamField body="audience" type="string">
  El identificador único de la API de destino a la que quiere acceder.
</ParamField>

<ParamField body="resource" type="string">
  El identificador de la API de destino (servidor de recursos) a la que quiere acceder. Debe coincidir con un identificador de API registrado en su inquilino de Auth0. Se usa como alternativa a `audience` cuando el [perfil de compatibilidad del parámetro Resource](https://auth0.com/docs/get-started/tenant-settings#settings-advanced) del inquilino está configurado como `compatibility`.
</ParamField>

<ParamField body="response_type" type="string" required>
  Especifica el tipo de token, por ejemplo, `code` o `code id_token`. Obligatorio.
</ParamField>

<ParamField body="client_id" type="string" required>
  El `client_id` de su aplicación. Obligatorio.
</ParamField>

<ParamField body="redirect_uri" type="string" required>
  La URL a la que Auth0 redirigirá una vez concedida la autorización. Obligatorio.
</ParamField>

<ParamField body="state" type="string">
  Un valor opaco que se usa para evitar ataques CSRF. Recomendado.
</ParamField>

<ParamField body="scope" type="string">
  Alcances de OIDC y alcances personalizados de la API. Recomendado.
</ParamField>

<ParamField body="code_challenge" type="string">
  Desafío generado a partir de `code_verifier`. Recomendado.
</ParamField>

<ParamField body="code_challenge_method" type="string">
  Método usado para generar el desafío, normalmente `S256`. Recomendado.
</ParamField>

<ParamField body="nonce" type="string">
  Se usa para evitar ataques de reproducción de tokens. Recomendado para `response_type=id_token`.
</ParamField>

<ParamField body="connection" type="string">
  El nombre de la conexión configurada para su aplicación.
</ParamField>

<ParamField body="prompt" type="string">
  Se usa para forzar una pantalla específica, por ejemplo, `prompt=consent`.
</ParamField>

<ParamField body="organization" type="string">
  ID de la organización que se usará al autenticar a un usuario.
</ParamField>

<ParamField body="dpop_jkt" type="string">
  La huella digital JWK [RFC7638](https://www.rfc-editor.org/rfc/rfc7638.html) de la clave pública de prueba de posesión, mediante la función hash SHA-256. Solo cuando se usa Demonstrating Proof-of-Possession (DPoP).
</ParamField>

<div id="response-schema">
  ## Esquema de la respuesta
</div>

<ResponseSchema>
  <ResponseField name="request_uri" type="string">
    El URI que debe usarse en el endpoint de autorización.
  </ResponseField>

  <ResponseField name="expires_in" type="integer">
    Número de segundos durante los cuales `request_uri` es válido.
  </ResponseField>
</ResponseSchema>

<div id="response-messages">
  ## Mensajes de respuesta
</div>

| Estado | Descripción                                                                                            |
| ------ | ------------------------------------------------------------------------------------------------------ |
| 201    | La solicitud se ha realizado correctamente; devuelve el URI de la solicitud y el tiempo de expiración. |
