Você está usando um cliente Bluesky de terceiros como Graze, Skeets ou um app web personalizado. De repente, o app para de funcionar e mostra um erro “Token Expirado”. Toda vez que você faz login novamente, o mesmo erro aparece após alguns minutos ou horas. Esse loop torna o cliente inutilizável.
A causa raiz é uma incompatibilidade entre como o Bluesky emite tokens de autenticação e como os clientes de terceiros os armazenam ou renovam. O Bluesky usa tokens de acesso de curta duração por segurança, e alguns clientes não conseguem lidar corretamente com o processo de renovação.
Este artigo explica por que o loop de expiração de token acontece e fornece três correções confiáveis. Você aprenderá a revogar sessões antigas, atualizar configurações do cliente ou mudar para um app mais compatível.
Principais Conclusões: Quebrando o Loop de Token Expirado do Bluesky
- Bluesky Web > Configurações > Senhas de App: Crie uma senha de app dedicada para clientes de terceiros para evitar conflitos de sessão.
- Configurações do Cliente > Limpar Cache: Remove dados de token obsoletos que forçam solicitações repetidas de login.
- Mude para um Cliente Oficial: O app Bluesky para iOS, Android ou web lida com a renovação de token automaticamente sem looping.
Por que os Tokens do Bluesky Expiram em Clientes de Terceiros
A autenticação do Bluesky usa dois tipos de tokens: um token de acesso e um token de atualização. O token de acesso é válido por cerca de duas horas. O token de atualização dura mais e é usado para obter um novo token de acesso sem pedir que o usuário faça login novamente.
Clientes de terceiros devem lidar corretamente com esse ciclo de renovação. Muitos clientes não armazenam o token de atualização de forma segura ou não chamam o endpoint de renovação antes que o token de acesso expire. Quando o cliente tenta usar um token de acesso expirado, o Bluesky retorna um erro “Token Expirado”. O cliente então solicita login novamente, criando um loop infinito.
Outra causa comum são conflitos de sessão. Se você tem várias sessões ativas de diferentes apps usando a mesma senha principal, o Bluesky pode invalidar todos os tokens por segurança. Isso força todos os clientes a reautenticar simultaneamente.
Como Funciona a Expiração de Token do Bluesky
O Bluesky usa o AT Protocol, que define uma vida útil de 7200 segundos para tokens de acesso. O token de atualização dura 30 dias. Após a expiração do token de acesso, o cliente deve enviar o token de atualização para o endpoint com.atproto.server.refreshSession. Se o cliente não implementar essa chamada, o usuário vê o erro.
Por que Clientes de Terceiros Falham
Muitos clientes de terceiros são construídos por desenvolvedores independentes que podem não implementar o fluxo completo de autenticação do AT Protocol. Alguns clientes armazenam apenas o token de acesso e descartam o token de atualização. Outros armazenam em cache o token de acesso, mas não verificam seu tempo de expiração. Quando o token expira, o cliente não tem como renová-lo sem login manual.
Três Correções para o Loop de Token Expirado do Bluesky
Tente estas correções em ordem. A primeira correção resolve a maioria dos casos. A segunda ajuda quando os dados do cliente estão corrompidos. A terceira é uma solução permanente.
Correção 1: Crie uma Senha de App Dedicada
Usar sua senha principal da conta Bluesky em um cliente de terceiros pode causar conflitos de sessão. O Bluesky recomenda gerar uma senha de app para cada cliente de terceiros.
- Abra as Configurações do Bluesky Web
Vá para Bluesky Web e faça login com sua conta principal. Clique na sua foto de perfil no canto superior direito. Selecione Configurações no menu suspenso. - Navegue até Senhas de App
Na barra lateral esquerda, clique em Moderação. Role para baixo até a seção Senhas de App. Esta página lista todas as senhas de app existentes. - Gere uma Nova Senha de App
Clique em Adicionar Senha de App. Dê a ela um nome que corresponda ao cliente de terceiros que você está usando, por exemplo “Cliente Graze”. Clique em Criar. Copie a senha gerada imediatamente — você não a verá novamente. - Use a Senha de App no Cliente
Abra seu cliente de terceiros. Vá para as configurações de conta ou login. Digite seu identificador do Bluesky e cole a senha de app que você acabou de copiar. Não use sua senha principal. Confirme a alteração. - Revogue Sessões Antigas
Ainda em Bluesky Web > Configurações > Moderação > Senhas de App, clique no ícone de lixeira ao lado de senhas de app antigas que você possa ter criado para o mesmo cliente. Isso remove tokens obsoletos que podem causar conflitos.
Correção 2: Limpe o Cache do Cliente e Reautentique
Dados de token em cache corrompidos podem causar o loop mesmo com uma senha de app correta. Limpar o cache força o cliente a solicitar tokens novos.
- Abra as Configurações do Cliente
Inicie o cliente de terceiros. Procure um ícone de engrenagem ou um menu chamado Configurações, Preferências ou Opções. Geralmente está na barra de ferramentas superior ou inferior. - Encontre Opções de Cache ou Armazenamento
Role pelas configurações até ver Cache, Armazenamento ou Gerenciamento de Dados. A redação exata varia conforme o cliente. Toque ou clique nele. - Limpe o Cache de Token
Selecione Limpar Cache ou Limpar Dados de Token. Alguns clientes têm um botão específico chamado Limpar Dados de Autenticação. Confirme a ação quando solicitado. - Reinicie o Cliente
Feche o cliente completamente. No celular, remova-o do alternador de apps. No desktop, saia do aplicativo. Abra-o novamente. - Faça Login Novamente
Digite seu identificador do Bluesky e a senha de app que você criou na Correção 1. Não marque nenhuma caixa “Permanecer Conectado” se o cliente oferecer — deixe o tempo de sessão padrão ser aplicado.
Correção 3: Mude para o Cliente Oficial do Bluesky
Se o loop persistir após as duas primeiras correções, o cliente de terceiros pode não suportar a renovação de token. Nesse caso, use o cliente oficial do Bluesky.
- Baixe o App Oficial
No iOS, abra a App Store e procure por Bluesky. No Android, abra o Google Play e procure por Bluesky. No desktop, acesse bsky.app no seu navegador. O cliente oficial é gratuito. - Faça Login com a Senha Principal
Abra o app oficial. Digite seu identificador do Bluesky e a senha principal da conta. O cliente oficial lida com a renovação de token automaticamente e não sofre com o loop de token expirado. - Exclua o Cliente de Terceiros Problemático
Se você não precisar mais do cliente de terceiros, desinstale-o do seu dispositivo. Isso evita tentativas acidentais de login que podem desencadear conflitos de sessão novamente.
Se o Loop de Token Expirado Ainda Aparecer
Alguns problemas exigem etapas adicionais além das três correções principais. Abaixo estão padrões de falha específicos e suas soluções.
Erro “Token Expirado” Aparece a Cada Poucos Minutos
Isso indica que o cliente não está renovando o token. O cliente pode estar usando um endpoint de API desatualizado. Verifique a documentação do cliente ou a página no GitHub para uma atualização. Se não houver atualização, mude para o cliente oficial conforme descrito na Correção 3.
Vários Clientes de Terceiros Mostram o Mesmo Erro
Isso sugere um problema com sua conta Bluesky, não com o cliente. Faça login no Bluesky Web e vá para Configurações > Moderação > Senhas de App. Revogue todas as senhas de app existentes. Crie uma senha de app nova para cada cliente. Não reutilize a mesma senha de app em vários clientes.
Erro Persiste Após Limpar Cache e Usar Senha de App
O cliente de terceiros pode ter um bug em sua lógica de renovação de token. Verifique as notas de versão do cliente ou o rastreador de problemas para um problema conhecido de renovação de token. Se o desenvolvedor não corrigiu, você tem duas opções: use um cliente de terceiros diferente ou use o cliente oficial.
Senha de App vs Senha Principal: Diferenças para Clientes de Terceiros
| Item | Senha de App | Senha Principal |
|---|---|---|
| Finalidade | Uso único para um cliente de terceiros | Acesso completo à conta |
| Vida útil do token | Mesma que os tokens da senha principal | Mesma que os tokens da senha de app |
| Risco de conflito de sessão | Baixo — sessão separada por app | Alto — sessão compartilhada causa invalidação |
| Revogação | Pode ser revogada individualmente | Requer alterar a senha principal |
| Recomendado para clientes de terceiros | Sim | Não |
Use senhas de app para cada cliente de terceiros. Isso isola a sessão de cada cliente e previne o loop de token expirado causado por conflitos de sessão. Se você já usou sua senha principal, altere-a imediatamente em Bluesky Web > Configurações > Senha e depois crie senhas de app para todos os clientes.
Agora você pode parar o loop de “Token Expirado”. Comece com a Correção 1: crie uma senha de app para o cliente afetado. Se o erro voltar, limpe o cache do cliente. Como etapa final, mude para o app oficial do Bluesky. Para controle avançado, monitore suas sessões ativas em Bluesky Web > Configurações > Moderação > Senhas de App e revogue qualquer uma que você não reconheça.