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

# Autenticar al usuario

> Autentica a un usuario con su número de teléfono o correo electrónico y un código de verificación para el inicio de sesión sin contraseña.

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

`POST /oauth/token`

Una vez que tengas un código de verificación, usa este endpoint para iniciar sesión del usuario con su número de teléfono/correo electrónico y el código de verificación.

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

* El `grant_type` debe ser `http://auth0.com/oauth/grant-type/passwordless/otp`.
* El `client_id` de tu aplicación es obligatorio.
* El `username` es el número de teléfono del usuario (si `realm=sms`) o su correo electrónico (si `realm=email`).
* El `realm` debe ser `sms` o `email`, y debe coincidir con la solicitud [POST /passwordless/start](#get-code-or-link).
* El `otp` debe ser el código de verificación del usuario.
* El `redirect_uri` es una URL de devolución de llamada obligatoria que debe estar registrada en las **Allowed Callback URLs** de tu aplicación.

<div id="learn-more">
  ### Más información
</div>

* [Autenticación sin contraseña](https://auth0.com/docs/authenticate/passwordless)

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

<ParamField header="DPoP" type="string">
  Una prueba 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="grant_type" type="string" required>
  Debe ser [http://auth0.com/oauth/grant-type/passwordless/otp](http://auth0.com/oauth/grant-type/passwordless/otp).
</ParamField>

<ParamField body="client_id" type="string" required>
  El client\_id de tu aplicación.
</ParamField>

<ParamField body="client_secret" type="string">
  El client\_secret de tu aplicación. Obligatorio solo para aplicaciones web regulares.
</ParamField>

<ParamField body="otp" type="string" required>
  El código de verificación del usuario.
</ParamField>

<ParamField body="realm" type="string" required>
  Debe coincidir con la conexión utilizada.

  Valores permitidos: `email`, `sms`
</ParamField>

<ParamField body="username" type="string" required>
  El número de teléfono o el correo electrónico del usuario.
</ParamField>

<ParamField body="audience" type="string">
  Identificador de la API para la que deseas obtener un token de acceso.
</ParamField>

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

<ParamField body="scope" type="string">
  Usa openid para obtener un token de ID.
</ParamField>

<ParamField body="redirect_uri" type="string" required>
  Una URL de devolución de llamada registrada en las Allowed Callback URLs de tu aplicación.
</ParamField>

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

| Estado | Descripción                                  |
| ------ | -------------------------------------------- |
| 200    | Usuario autenticado con éxito.               |
| 400    | Solicitud incorrecta. Parámetros no válidos. |
| 401    | No autorizado. Credenciales no válidas.      |
