Perguntas frequentes

Perguntas sobre OAuth da Twitch e da Kick, respondidas.

O OAuth da Twitch e da Kick tem algumas partes. Estas são as mais comuns: escopos, armazenamento, validade e revogação. As perguntas 2–15 cobrem a Twitch; as 16–20 cobrem a Kick. Ainda preso? Envie um e-mail para support@cpwgamestools.com.

O que este site realmente faz?

O CPWGames Tools cria tokens OAuth e busca emotes para Twitch e Kick. A página da Twitch usa o fluxo implícito para um token de navegador de longa duração; a página da Kick usa OAuth 2.1 com PKCE e um token renovável guardado no servidor.

Cada plataforma tem seu próprio painel para escopos, renovação e revogação. A busca de emotes não exige conta e não faz login.

Quais scopes ele solicita?

A página do token usa um conjunto básico fixo: detalhes do canal, leitura/escrita do chat, pontos de canal, inscrições e metas de criador, raids, acesso de bot e emotes. O nome do canal e o login vêm do perfil OAuth e não precisam de um scope separado.

Não há um seletor completo de scopes. O catálogo fica interno, então a solicitação contém apenas os scopes básicos que esta ferramenta realmente usa.

Por que preciso entrar com a Twitch?

Um token de acesso de usuário pertence a uma conta da Twitch e age em nome dela. A Twitch só emite um depois que o dono da conta entra e aprova o pedido, então a tela de login é a da própria Twitch.

Nunca vemos sua senha da Twitch, e nenhum token é gerado sem a sua aprovação.

Onde meu token fica armazenado?

O token de longa duração do botão Conectar Twitch não é armazenado por este site. A Twitch o retorna no fragmento da URL, a página o lê e ele permanece apenas no seu navegador. O fragmento é limpo depois da leitura.

O fluxo separado do painel com token renovável o armazena no servidor em um arquivo JSON protegido (storage/tokens.json por padrão), legível apenas pelo usuário do servidor web.

Quanto dura um token de acesso?

O botão Conectar Twitch usa a concessão implícita da Twitch, que retorna um token de acesso de usuário diretamente ao seu navegador. Ele costuma durar cerca de 60 dias, mas não pode ser renovado: quando expirar ou for revogado, conecte novamente. O fluxo de código de autorização da Twitch, usado pelo painel, retorna tokens de cerca de quatro horas com um refresh token.

O que acontece quando ele expira?

O token de longa duração para de funcionar e as chamadas à API retornam HTTP 401. Ele não tem refresh token, então conecte novamente para obter um novo. Se o token foi revogado ou o app foi desconectado nas configurações da Twitch, vale o mesmo.

O token mais curto do painel é diferente: pode ser renovado com seu refresh token até que esse refresh token seja revogado ou expire.

Por que não recebi todos os scopes que pedi?

A Twitch concede o que a conta conectada tem permissão para conceder. Scopes de moderador exigem que você seja realmente moderador no canal de destino (ou o broadcaster), alguns scopes exigem um aplicativo aprovado ou verificado, e scopes limitados por função não valem para a conta errada.

A página de resultado lista os scopes concedidos, então você vê exatamente o que aconteceu.

Posso usar este token para um bot?

Sim — entre com a conta do bot. O conjunto básico inclui chat:read, chat:edit, user:bot e channel:bot, além dos scopes do canal para pontos, inscrições, metas e raids.

Um token sempre pertence à conta que o autorizou, então o token de um canal não pode agir como seu bot e vice-versa.

Posso solicitar todos os scopes? Isso é permitido?

A política da Twitch diz que um aplicativo deve solicitar apenas os scopes de que precisa, e a Twitch pode suspender aplicativos que pedem mais do que o necessário.

Esta ferramenta usa um conjunto básico fixo sem seletor completo. Isso mantém a solicitação mínima; não é preciso pedir todos os scopes para um bot normal.

Como revogo um token?

O token de longa duração não é armazenado por este site, então não há nada local para excluir. Remova o aplicativo manualmente na Twitch em Configurações → Conexões para revogá-lo.

Os tokens do painel podem ser revogados com o botão Revogar acesso, que chama o endpoint /oauth2/revoke da Twitch e exclui o registro local imediatamente.

Preciso do meu próprio aplicativo da Twitch?

Não. O operador do site registra um aplicativo da Twitch, e o client id e o secret ficam no .env do servidor. Você apenas entra.

Se você hospedar o CPWGames Tools por conta própria, crie seu próprio app no console de desenvolvedor da Twitch e registre .../callback.php como URL de redirecionamento.

Para onde vai o client secret?

Apenas para o .env no servidor, como TWITCH_CLIENT_SECRET. Ele nunca é renderizado em HTML, nunca é enviado ao navegador e nunca deve ser enviado a um repositório.

No console de desenvolvedor da Twitch, abra seu aplicativo e escolha Novo secret para gerar um.

Quais dados vocês guardam?

O fluxo longo do Connect não envia o token ao servidor nem o armazena. O fluxo separado do painel armazena seu ID de usuário da Twitch, login, nome de exibição, URL do avatar, e-mail (somente se concedido), par de tokens, listas de scopes e timestamps.

As sessões duram 14 dias. Registros de tokens do painel que não são usados há 30 dias são excluídos automaticamente, e revogar exclui o seu imediatamente. A política de privacidade tem todos os detalhes.

Funciona no celular?

Sim. O layout é responsivo e as telas de consentimento da Twitch e da Kick funcionam em navegadores móveis. Copiar um token é mais fácil com a área de transferência do desktop, mas os painéis sempre mostram texto selecionável.

Isso é afiliado à Twitch?

Não. O CPWGames Tools é uma ferramenta independente e não é endossado nem afiliado à Twitch Interactive, Inc., Amazon.com, Inc. ou Kick. Twitch e Kick são marcas de seus proprietários.

O CPWGames Tools oferece suporte a OAuth da Kick?

Sim. Abra o menu OAuth e escolha Kick OAuth, ou acesse diretamente /authorize.php?platform=kick. A Kick usa OAuth 2.1 com PKCE, verificação de state e um armazenamento de tokens separado no servidor.

As sessões da Kick e da Twitch são independentes. Você pode conectar uma plataforma ou as duas no mesmo site.

Quais escopos a Kick solicita?

A página de autorização da Kick solicita user:read, channel:rewards:read, channel:rewards:write, chat:write e events:subscribe.

user:read carrega seu perfil da Kick. Os escopos de recompensas cobrem pontos de canal, chat:write cobre o chat e events:subscribe cobre eventos de chat, follows, inscrições e presentes. A Kick decide o que concede.

Quanto dura um token da Kick?

Os tokens de acesso da Kick são de curta duração, geralmente duas horas. O refresh token é a credencial de maior duração e usa uma janela deslizante de 30 dias; cada renovação bem-sucedida reinicia essa janela.

O painel da Kick mostra o refresh token de 30 dias; o token de acesso de duas horas fica no servidor e é renovado automaticamente. Se o refresh token expirar ou for revogado, reconecte a Kick.

Onde os tokens da Kick ficam armazenados?

Os tokens da Kick ficam separados dos tokens da Twitch, em um arquivo JSON protegido (storage/kick_tokens.json por padrão) indexado pelo ID de usuário da Kick.

O painel da Kick pode renová-los ou revogá-los. O painel mostra o refresh token; o token de acesso permanece no servidor.

Posso usar os escopos de recompensas e chat da Kick?

Sim. O token de acesso no servidor pode usar os escopos concedidos pela Kick na API pública. O site não publica mensagens nem edita recompensas automaticamente; ele fornece o refresh token e um painel para gerenciá-lo.

Trate o token como uma credencial e use-o apenas em código do servidor. Nunca coloque um refresh token ou token de acesso da Kick em JavaScript do navegador ou em um repositório 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.

Ainda precisa de ajuda?

Inclua seu login da Twitch ou da Kick e o que você estava tentando fazer — nunca envie o token.

As páginas de tokens usam conjuntos fixos de escopos, deliberadamente menores que a lista completa de cada plataforma. O comportamento pode mudar no lado da plataforma; os conjuntos são mantidos em sincronia com as páginas de autorização.