Introducción
¿Durante cuánto tiempo seguirán siendo válidas mis credenciales?
De forma predeterminada, el token de acceso que generes mediante el Authorization Code Flow con PKCE solo será válido durante dos horas, a menos que hayas utilizado el ámbitooffline.access.
Tokens de actualización
offline.access, se emitirá un token de actualización de OAuth 2.0. Con este token de actualización, podrás obtener un token de acceso. Si este alcance no se incluye, no generaremos un token de actualización.
A continuación se muestra un ejemplo de la solicitud que realizarías para usar un token de actualización y obtener un nuevo token de acceso:
Configuración de la App
Clientes confidenciales
Ámbitos
| Ámbito | Descripción |
| tweet.read | Todos los Tweets que puedes ver, incluidos los de cuentas protegidas. |
| tweet.write | Publicar Tweets y Retweets por ti. |
| tweet.moderate.write | Ocultar y mostrar respuestas a tus Tweets. |
| users.email | Correo electrónico de un usuario autenticado. |
| users.read | Cualquier cuenta que puedas ver, incluidas las cuentas protegidas. |
| follows.read | Personas que te siguen y personas a las que sigues. |
| follows.write | Seguir y dejar de seguir personas por ti. |
| offline.access | Mantenerte conectado a tu cuenta hasta que revoques el acceso. |
| space.read | Todos los Spaces que puedes ver. |
| mute.read | Cuentas que has silenciado. |
| mute.write | Silenciar y dejar de silenciar cuentas por ti. |
| like.read | Tweets que te han gustado y Me gusta que puedes ver. |
| like.write | Indicar y quitar Me gusta en Tweets por ti. |
| list.read | Listas, miembros de listas y seguidores de listas que has creado o de las que eres miembro, incluidas las listas privadas. |
| list.write | Crear y administrar Listas por ti. |
| block.read | Cuentas que has bloqueado. |
| block.write | Bloquear y desbloquear cuentas por ti. |
| bookmark.read | Obtener Tweets guardados de un usuario autenticado. |
| bookmark.write | Guardar y quitar marcadores de Tweets. |
| media.write | Subir contenido multimedia. |
Límites de uso
Tipos de otorgamiento
Flujo de OAuth 2.0
Glosario
| Término | Descripción |
| Tipos de concesión | El framework OAuth especifica varios tipos de concesión para diferentes casos de uso y un marco para crear nuevos tipos de concesión. Entre los ejemplos están el código de autorización, las credenciales de cliente, el código de dispositivo y el token de actualización. |
| Cliente confidencial | Los clientes son aplicaciones que pueden autenticarse de forma segura con el servidor de autorización, por ejemplo, manteniendo a salvo su client secret registrado. |
| Cliente público | Los clientes no pueden usar client secrets registrados, como las aplicaciones que se ejecutan en un navegador o en un dispositivo móvil. |
| Flujo de código de autorización | Utilizado tanto por clientes confidenciales como públicos para intercambiar un código de autorización por un token de acceso. |
| PKCE | Una extensión del flujo de código de autorización para prevenir varios ataques y poder realizar el intercambio OAuth desde clientes públicos de forma segura. |
| Client ID | Se encuentra en la sección de claves y tokens del Portal de desarrolladores, bajo el encabezado “Client ID”. Si no lo ves, ponte en contacto con nuestro equipo directamente. El Client ID será necesario para generar la URL de autorización. |
| URI de redirección | Tu URL de callback. Deberás contar con validación de coincidencia exacta. |
| Código de autorización | Permite que una aplicación acceda a las APIs en nombre de los usuarios. Conocido como el auth_code. El auth_code tiene un límite de tiempo de 30 segundos desde que el propietario de la App recibe del usuario un auth_code aprobado. Deberás intercambiarlo por un token de acceso en un plazo de 30 segundos o el auth_code expirará. |
| Token de acceso | Los tokens de acceso son el token que las aplicaciones usan para realizar solicitudes a la API en nombre de un usuario. |
| Token de actualización | Permite que una aplicación obtenga un nuevo token de acceso sin solicitar intervención del usuario mediante el flujo de token de actualización. |
| Client Secret | Si has seleccionado un tipo de App que sea un cliente confidencial, se te proporcionará un “Client Secret” debajo de “Client ID” en la sección de claves y tokens de tu App. |
Parámetros
| Parámetro | Descripción |
| response_type | Debes indicar que se trata de un código usando la palabra “code”. |
| client_id | Se encuentra en el Portal de desarrolladores, bajo el encabezado “Client ID”. |
| redirect_uri | Tu URL de retorno (callback). Este valor debe coincidir con una de las URL de retorno definidas en la configuración de tu App. Para OAuth 2.0, debes contar con validación de coincidencia exacta para tu URL de retorno. |
| state | Una cadena aleatoria que proporcionas para protegerte contra ataques CSRF. La longitud de esta cadena puede ser de hasta 500 caracteres. |
| code_challenge | Un parámetro PKCE, un secreto aleatorio por cada solicitud que realices. |
| code_challenge_method | Especifica el método que usas para realizar la solicitud (S256 o plain). |