Introducción
¿Durante cuánto tiempo seguirán siendo válidas mis credenciales?
offline.access.
Tokens de actualización
offline.access, se emitirá un token de actualización de OAuth 2.0. Con este token de actualización, se puede obtener un token de acceso. Si este scope no se pasa, no generaremos un token de actualización.
Un ejemplo de la solicitud que deberías hacer para usar un token de actualización y obtener un nuevo token de acceso es el siguiente:
Configuración de la App
Clientes confidenciales
Alcances
| Scope | Descripción |
| tweet.read | Todos los Tweets que puedes ver, incluidos los Tweets de cuentas protegidas. |
| tweet.write | Publicar Tweets y hacer Retweets por ti. |
| tweet.moderate.write | Ocultar y volver a 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 | Mantente 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 | Marcar con “me gusta” y quitar el “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 los Tweets que un usuario autenticado ha guardado en marcadores. |
| bookmark.write | Agregar Tweets a marcadores y eliminar Tweets de marcadores. |
| media.write | Cargar contenido multimedia. |
Límites de tasa
Tipos de concesión
Flujo de OAuth 2.0
Glosario
| Término | Descripción |
| Grant types | El framework OAuth especifica varios tipos de grant para diferentes casos de uso y un marco para crear nuevos grant types. Algunos ejemplos son authorization code, client credentials, device code y refresh token. |
| Confidential client | Los clientes confidenciales son aplicaciones que pueden autenticarse de forma segura con el servidor de autorización, por ejemplo, manteniendo su client secret registrado a salvo. |
| Public client | Los clientes públicos no pueden usar client secrets registrados, como las aplicaciones que se ejecutan en un navegador o en un dispositivo móvil. |
| Authorization code flow | Flujo utilizado tanto por confidential clients como por public clients para intercambiar un authorization code por un access token. |
| PKCE | Una extensión del authorization code flow para evitar varios tipos de ataques y poder realizar el intercambio OAuth desde public clients de forma segura. |
| Client ID | Se puede encontrar en la sección “Keys and tokens” de la Consola de desarrollador bajo el encabezado “Client ID”. Si no lo ves, ponte en contacto directamente con nuestro equipo. El Client ID será necesario para generar la URL de authorize. |
| Redirect URI | Tu URL de callback. Necesitarás tener validación de coincidencia exacta. |
| Authorization code | Esto permite que una aplicación invoque APIs en nombre de los usuarios. Conocido como auth_code. El auth_code tiene un límite de tiempo de 30 segundos una vez que el propietario de la App recibe un auth_code aprobado del usuario. Tendrás que intercambiarlo por un access token dentro de esos 30 segundos o el auth_code caducará. |
| Access token | Los access tokens son los tokens que las aplicaciones usan para hacer solicitudes a la API en nombre de un usuario. |
| Refresh token | Permite que una aplicación obtenga un nuevo access token sin volver a solicitar la intervención del usuario, mediante el refresh token flow. |
| Client Secret | Si has seleccionado un tipo de App que sea un confidential client, se te proporcionará un “Client Secret” debajo de “Client ID” en la sección “Keys and tokens” de tu App. |
Parámetros
| Parameter | Descripción |
| response_type | Deberás especificar que se trata de un código usando la palabra “code”. |
| client_id | Se puede encontrar en la Consola de desarrollador bajo el encabezado “Client ID”. |
| redirect_uri | Tu URL de callback. Este valor debe corresponder a una de las Callback URLs definidas en la configuración de tu App. Para OAuth 2.0, deberás tener validación de coincidencia exacta para tu URL de callback. |
| state | Una cadena aleatoria que proporcionas para verificar y protegerte frente a ataques CSRF. La longitud de esta cadena puede ser de hasta 500 caracteres. |
| code_challenge | Un parámetro PKCE, un secreto aleatorio para cada solicitud que hagas. |
| code_challenge_method | Especifica el método que estás usando para realizar una solicitud (S256 o plain). |