Preguntas sobre OAuth de Twitch y Kick, respondidas.
El OAuth de Twitch y Kick tiene varias piezas. Estas son las más habituales: scopes, almacenamiento, caducidad y revocación. Las preguntas 2–15 cubren Twitch; las 16–20 cubren Kick. ¿Sigues atascado? Escribe a support@cpwgamestools.com.
¿Qué hace realmente este sitio?
CPWGames Tools crea tokens OAuth y busca emotes para Twitch y Kick. La página de Twitch usa el flujo implícito para un token de navegador de larga duración; la página de Kick usa OAuth 2.1 con PKCE y un token renovable guardado en el servidor.
Cada plataforma tiene su propio panel para scopes, renovación y revocación. La búsqueda de emotes no requiere cuenta y no inicia sesión.
¿Qué scopes solicita?
La página del token usa un conjunto básico fijo: datos del canal, lectura/escritura del chat, puntos de canal, suscripciones y metas de creador, raids, acceso de bot y emotes. El nombre del canal y el login vienen del perfil OAuth y no necesitan un scope aparte.
No hay un selector completo de scopes. El catálogo es interno, así que la solicitud solo contiene los scopes básicos que esta herramienta usa realmente.
¿Por qué necesito iniciar sesión con Twitch?
Un token de acceso de usuario pertenece a una cuenta de Twitch y actúa en nombre de esa cuenta. Twitch solo lo emite después de que el dueño de la cuenta inicia sesión y aprueba la solicitud, así que la pantalla de login es la de Twitch.
Nunca vemos tu contraseña de Twitch y no se genera ningún token sin tu aprobación.
¿Dónde se guarda mi token?
El token de larga duración del botón Conectar Twitch no lo guarda este sitio. Twitch lo devuelve en el fragmento de la URL, la página lo lee y solo permanece en tu navegador. El fragmento se borra después de leerlo.
El flujo separado del panel con token renovable lo guarda en el servidor en un archivo JSON protegido (storage/tokens.json por defecto), legible solo por el usuario del servidor web.
¿Cuánto dura un token de acceso?
El botón Conectar Twitch usa la concesión implícita de Twitch, que devuelve un token de acceso de usuario directamente a tu navegador. Suele durar unos 60 días, pero no se puede renovar: cuando caduque o se revoque, vuelve a conectar. El flujo de código de autorización de Twitch, usado por el panel, devuelve tokens de unas cuatro horas con un refresh token.
¿Qué pasa cuando caduca?
El token de larga duración deja de funcionar y las llamadas a la API devuelven HTTP 401. No tiene refresh token, así que vuelve a conectar para obtener uno nuevo. Si el token se revocó o la app se desconectó en los ajustes de Twitch, pasa lo mismo.
El token más corto del panel es distinto: se puede renovar con su refresh token hasta que ese refresh token se revoque o caduque.
¿Por qué no recibí todos los scopes que pedí?
Twitch concede lo que la cuenta conectada puede conceder. Los scopes de moderador requieren que seas realmente moderador del canal objetivo (o el broadcaster), algunos scopes necesitan una aplicación aprobada o verificada, y los scopes limitados por rol no se mantienen en la cuenta equivocada.
La página de resultado enumera los scopes concedidos, así que puedes ver exactamente qué ocurrió.
¿Puedo usar este token para un bot?
Sí: inicia sesión con la cuenta del bot. El conjunto básico incluye chat:read, chat:edit, user:bot y channel:bot, además de los scopes del canal para puntos, suscripciones, metas y raids.
Un token siempre está vinculado a la cuenta que lo autorizó, así que el token de un canal no puede actuar como su bot y viceversa.
¿Puedo solicitar todos los scopes? ¿Está permitido?
La política de Twitch dice que una aplicación debe solicitar solo los scopes que necesita, y Twitch puede suspender aplicaciones que pidan más de lo necesario.
Esta herramienta usa un conjunto básico fijo sin selector completo. Eso mantiene la solicitud mínima; no hace falta pedir todos los scopes para un bot normal.
¿Cómo revoco un token?
Este sitio no guarda el token de larga duración, así que no hay nada local que borrar. Elimina la aplicación manualmente en Twitch, en Ajustes → Conexiones, para revocarlo.
Los tokens del panel se pueden revocar con el botón Revocar acceso, que llama al endpoint /oauth2/revoke de Twitch y borra el registro local de inmediato.
¿Necesito mi propia aplicación de Twitch?
No. El operador del sitio registra una aplicación de Twitch, y su client id y secret viven en .env en el servidor. Tú solo inicias sesión.
Si alojas CPWGames Tools por tu cuenta, crea tu propia app en la consola de desarrollador de Twitch y registra .../callback.php como URL de redirección.
¿Adónde va el client secret?
Solo a .env en el servidor, como TWITCH_CLIENT_SECRET. Nunca se renderiza en HTML, nunca se envía al navegador y nunca debe subirse a un repositorio.
En la consola de desarrollador de Twitch, abre tu aplicación y elige Nuevo secreto para generar uno.
¿Qué datos guardáis?
El flujo largo de Connect no envía el token al servidor ni lo guarda. El flujo separado del panel guarda tu ID de usuario de Twitch, login, nombre visible, URL del avatar, correo (solo si se concede), par de tokens, listas de scopes y marcas de tiempo.
Las sesiones duran 14 días. Los registros de tokens del panel que no se tocan durante 30 días se eliminan automáticamente, y revocar borra el tuyo de inmediato. La política de privacidad tiene todos los detalles.
¿Funciona en móvil?
Sí. El diseño es responsive y las pantallas de consentimiento de Twitch y Kick funcionan en navegadores móviles. Copiar un token es más fácil con el portapapeles de escritorio, pero los paneles siempre muestran texto seleccionable.
¿Está afiliado a Twitch?
No. CPWGames Tools es una herramienta independiente y no está respaldada ni afiliada a Twitch Interactive, Inc., Amazon.com, Inc. ni Kick. Twitch y Kick son marcas de sus propietarios.
¿CPWGames Tools admite OAuth de Kick?
Sí. Abre el menú OAuth y elige Kick OAuth, o ve directamente a /authorize.php?platform=kick. Kick usa OAuth 2.1 con PKCE, verificación de state y un almacén de tokens separado en el servidor.
Las sesiones de Kick y Twitch son independientes. Puedes conectar una plataforma o ambas desde el mismo sitio.
¿Qué scopes solicita Kick?
La página de autorización de Kick solicita user:read, channel:rewards:read, channel:rewards:write, chat:write y events:subscribe.
user:read carga tu perfil de Kick. Los scopes de recompensas cubren los puntos de canal, chat:write cubre el chat y events:subscribe cubre eventos de chat, follows, suscripciones y regalos. Kick decide qué concede.
¿Cuánto dura un token de Kick?
Los tokens de acceso de Kick son de corta duración, normalmente dos horas. El refresh token es la credencial de mayor duración y usa una ventana deslizante de 30 días; cada renovación correcta reinicia esa ventana.
El panel de Kick muestra el refresh token de 30 días; el token de acceso de dos horas permanece en el servidor y se renueva automáticamente. Si el refresh token caduca o se revoca, vuelve a conectar Kick.
¿Dónde se guardan los tokens de Kick?
Los tokens de Kick se guardan por separado de los de Twitch, en un archivo JSON protegido (storage/kick_tokens.json por defecto) indexado por ID de usuario de Kick.
El panel de Kick puede renovarlos o revocarlos. El panel muestra el refresh token; el token de acceso permanece en el servidor.
¿Puedo usar los scopes de recompensas y chat de Kick?
Sí. El token de acceso del servidor puede usar los scopes que conceda Kick con la API pública de Kick. El sitio no publica mensajes ni edita recompensas automáticamente; te da el refresh token y un panel para gestionarlo.
Trata el token como una credencial y úsalo solo en código del servidor. Nunca pongas un refresh token ni un token de acceso de Kick en JavaScript del navegador o en un repositorio público.
Which platforms does CPWGames Tools support?
Twitch and Kick are live for OAuth and emote search. Velora emote search is live; Velora OAuth is marked coming soon until the app review is complete. ANTISLAVE app-token OAuth is ready behind server credentials, and ANTISLAVE emote search is marked coming soon because their API has no public emote catalogue yet.
Velora OAuth is controlled by VELORA_OAUTH_ENABLED. ANTISLAVE OAuth appears when ANTISLAVE_CLIENT_ID and ANTISLAVE_CLIENT_SECRET are set.
Does ANTISLAVE have emote search?
Not yet. ANTISLAVE exposes chat text containing emote tokens such as [emote:code], but not a public emote catalogue or image endpoint. The emote-search entry is visible and marked coming soon rather than showing incomplete data.
Velora is the newest live emote source. Twitch and Kick emote search remain available from the Emote search menu.
Why are Velora and ANTISLAVE marked coming soon?
Velora OAuth waits for the application review; its public emote search already works. ANTISLAVE OAuth is implemented using client credentials and stays in the coming-soon state until the server has its client ID and secret.
The status cards on the home page always show which parts of each platform are live, coming soon or waiting for credentials.
¿Necesitas ayuda?
Incluye tu usuario de Twitch o Kick y qué intentabas hacer; nunca envíes el token.
Las páginas de tokens usan conjuntos fijos de scopes, deliberadamente más pequeños que la lista completa de cada plataforma. El comportamiento puede cambiar en la plataforma; los conjuntos se mantienen sincronizados con las páginas de autorización.