Questions OAuth Twitch et Kick, avec réponses.
L’OAuth Twitch et Kick a plusieurs éléments. Voici les plus fréquents : portées, stockage, expiration et révocation. Les questions 2–15 concernent Twitch ; les 16–20 concernent Kick. Toujours bloqué ? Écrivez à support@cpwgamestools.com.
Que fait réellement ce site ?
CPWGames Tools crée des jetons OAuth et recherche des emotes pour Twitch et Kick. La page Twitch utilise le flux implicite pour un jeton navigateur de longue durée ; la page Kick utilise OAuth 2.1 avec PKCE et un jeton actualisable côté serveur.
Chaque plateforme possède son propre tableau de bord pour les portées, l’actualisation et la révocation. La recherche d’emotes ne nécessite aucun compte et ne vous connecte pas.
Quels scopes demande-t-il ?
La page du jeton utilise un ensemble de base fixe : détails de la chaîne, lecture/écriture du chat, points de chaîne, abonnements et objectifs de créateur, raids, accès bot et emotes. Le nom de la chaîne et le login viennent du profil OAuth et ne nécessitent pas de scope séparé.
Il n’y a pas de sélecteur complet de scopes. Le catalogue reste interne, donc la demande ne contient que les scopes de base réellement utilisés par cet outil.
Pourquoi dois-je me connecter avec Twitch ?
Un jeton d’accès utilisateur appartient à un compte Twitch et agit pour ce compte. Twitch n’en délivre un qu’après la connexion et l’approbation du propriétaire du compte ; l’écran de connexion est donc celui de Twitch.
Nous ne voyons jamais votre mot de passe Twitch, et aucun jeton n’est généré sans votre approbation.
Où mon jeton est-il stocké ?
Le jeton de longue durée du bouton Connecter Twitch n’est pas stocké par ce site. Twitch le renvoie dans le fragment d’URL, la page le lit, et il ne reste que dans votre navigateur. Le fragment est effacé après lecture.
Le flux séparé du tableau de bord avec jeton renouvelable le stocke côté serveur dans un fichier JSON protégé (storage/tokens.json par défaut), lisible uniquement par l’utilisateur du serveur web.
Combien de temps dure un jeton d’accès ?
Le bouton Connecter Twitch utilise le flux implicite de Twitch, qui renvoie un jeton d’accès utilisateur directement à votre navigateur. Il dure généralement environ 60 jours, mais ne peut pas être rafraîchi : lorsqu’il expire ou est révoqué, reconnectez-vous. Le flux de code d’autorisation de Twitch, utilisé par le tableau de bord, renvoie des jetons d’environ quatre heures avec un refresh token.
Que se passe-t-il à l’expiration ?
Le jeton de longue durée cesse de fonctionner et les appels API renvoient HTTP 401. Il n’a pas de refresh token : reconnectez-vous pour en obtenir un nouveau. Si le jeton a été révoqué ou l’application déconnectée dans les paramètres Twitch, c’est la même chose.
Le jeton plus court du tableau de bord est différent : il peut être rafraîchi avec son refresh token jusqu’à ce que celui-ci soit révoqué ou expire.
Pourquoi je n’ai pas obtenu tous les scopes demandés ?
Twitch accorde ce que le compte connecté est autorisé à accorder. Les scopes de modérateur exigent que vous soyez réellement modérateur de la chaîne cible (ou le broadcaster), certains scopes nécessitent une application approuvée ou vérifiée, et les scopes limités par rôle ne s’appliquent pas au mauvais compte.
La page de résultat liste les scopes accordés, vous voyez donc exactement ce qui s’est passé.
Puis-je utiliser ce jeton pour un bot ?
Oui — connectez-vous avec le compte du bot. L’ensemble de base inclut chat:read, chat:edit, user:bot et channel:bot, ainsi que les scopes de chaîne pour les points, les abonnements, les objectifs et les raids.
Un jeton est toujours lié au compte qui l’a autorisé : le jeton d’une chaîne ne peut donc pas agir comme son bot, et inversement.
Puis-je demander tous les scopes ? Est-ce autorisé ?
La politique de Twitch indique qu’une application doit demander uniquement les scopes dont elle a besoin, et Twitch peut suspendre les applications qui en demandent plus que nécessaire.
Cet outil utilise un ensemble de base fixe sans sélecteur complet. Cela garde la demande minimale ; inutile de demander tous les scopes pour un bot normal.
Comment révoquer un jeton ?
Le jeton de longue durée n’est pas stocké par ce site : il n’y a donc rien à supprimer localement. Supprimez l’application manuellement dans Twitch, sous Paramètres → Connexions, pour le révoquer.
Les jetons du tableau de bord peuvent être révoqués avec le bouton Révoquer l’accès, qui appelle le point de terminaison /oauth2/revoke de Twitch et supprime immédiatement l’enregistrement local.
Ai-je besoin de ma propre application Twitch ?
Non. L’opérateur du site enregistre une application Twitch, dont le client id et le secret se trouvent dans .env sur le serveur. Vous vous connectez simplement.
Si vous hébergez CPWGames Tools vous-même, créez votre propre application dans la console développeur Twitch et enregistrez .../callback.php comme URL de redirection.
Où va le client secret ?
Uniquement dans .env sur le serveur, sous TWITCH_CLIENT_SECRET. Il n’est jamais rendu dans le HTML, jamais envoyé au navigateur et ne doit jamais être commité dans un dépôt.
Dans la console développeur Twitch, ouvrez votre application et choisissez Nouveau secret pour en générer un.
Quelles données conservez-vous ?
Le flux long Connect n’envoie pas le jeton au serveur et ne le stocke pas. Le flux séparé du tableau de bord stocke votre identifiant utilisateur Twitch, login, nom affiché, URL d’avatar, e-mail (uniquement s’il est accordé), paire de jetons, listes de scopes et horodatages.
Les sessions durent 14 jours. Les enregistrements de jetons du tableau de bord non utilisés pendant 30 jours sont supprimés automatiquement, et la révocation supprime le vôtre immédiatement. La politique de confidentialité contient tous les détails.
Est-ce que ça marche sur mobile ?
Oui. La mise en page est responsive et les pages de consentement Twitch et Kick fonctionnent sur mobile. Copier un jeton est plus simple avec le presse-papiers d’un ordinateur, mais les tableaux de bord affichent toujours du texte sélectionnable.
Est-ce affilié à Twitch ?
Non. CPWGames Tools est un outil indépendant, non approuvé ni affilié à Twitch Interactive, Inc., Amazon.com, Inc. ou Kick. Twitch et Kick sont des marques de leurs propriétaires.
CPWGames Tools prend-il en charge OAuth Kick ?
Oui. Ouvrez le menu OAuth et choisissez Kick OAuth, ou allez directement sur /authorize.php?platform=kick. Kick utilise OAuth 2.1 avec PKCE, vérification du state et un stockage de jetons séparé côté serveur.
Les sessions Kick et Twitch sont indépendantes. Vous pouvez connecter l’une ou l’autre, ou les deux, depuis le même site.
Quelles portées Kick sont demandées ?
La page d’autorisation Kick demande user:read, channel:rewards:read, channel:rewards:write, chat:write et events:subscribe.
user:read charge votre profil Kick. Les portées de récompenses couvrent les points de chaîne, chat:write couvre le chat et events:subscribe couvre les événements de chat, follow, abonnement et cadeau. Kick décide de ce qu’il accorde.
Combien de temps dure un jeton Kick ?
Les jetons d’accès Kick sont de courte durée, généralement deux heures. Le refresh token est l’identifiant de plus longue durée et utilise une fenêtre glissante de 30 jours ; chaque actualisation réussie réinitialise cette fenêtre.
Le tableau de bord Kick affiche le refresh token de 30 jours ; le jeton d’accès de deux heures reste côté serveur et est renouvelé automatiquement. Si le refresh token expire ou est révoqué, reconnectez Kick.
Où sont stockés les jetons Kick ?
Les jetons Kick sont stockés séparément des jetons Twitch, dans un fichier JSON protégé (storage/kick_tokens.json par défaut), indexé par ID utilisateur Kick.
Le tableau de bord Kick peut les actualiser ou les révoquer. Le tableau de bord affiche le refresh token ; le jeton d’accès reste côté serveur.
Puis-je utiliser les portées récompenses et chat Kick ?
Oui. Le jeton d’accès côté serveur peut utiliser les portées accordées par Kick avec l’API publique. Le site ne publie pas de messages et ne modifie pas les récompenses automatiquement ; il fournit le refresh token et un tableau de bord pour le gérer.
Traitez le jeton comme un identifiant et utilisez-le uniquement dans du code serveur. Ne placez jamais un refresh token ou un jeton d’accès Kick dans du JavaScript navigateur ou un dépôt public.
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.
Besoin d’un coup de main ?
Indiquez votre identifiant Twitch ou Kick et ce que vous essayiez de faire — n’envoyez jamais le jeton.
Les pages de jetons utilisent des ensembles de portées fixes, volontairement plus petits que la liste complète de chaque plateforme. Le comportement peut changer côté plateforme ; les ensembles restent synchronisés avec les pages d’autorisation.