Skip to main content

Vencimento e revogação de token

Seus tokens podem vencer e também podem ser revogados por você, pelos aplicativos que você autorizou e pelo próprio GitHub.

Quando um token vencer ou for revogado, ele não poderá mais ser usado para autenticar solicitações do Git e da API. Não é possível restaurar um token vencido ou revogado, você ou o aplicativo deverá criar um novo token.

Este artigo explica os possíveis motivos pelos quais seu token GitHub pode ser revogado ou vencido.

Observação

Quando um personal access token ou um token OAuth expira ou é revogado, talvez uma ação oauth_authorization.destroy seja exibida no log de segurança. Para saber mais, confira Revisar seus logs de segurança.

Token revogado após atingir sua data de validade

Ao criar um personal access token, recomendamos que você defina um vencimento para o token. Ao alcançar a data de vencimento do seu token, este será automaticamente revogado. Para saber mais, confira Gerenciar seus tokens de acesso pessoal.

Token revogado quando enviado por push para um repositório público ou gist público

Se um token OAuth válido, um token do GitHub App ou um personal access token for enviado por push a um repositório ou gist público, o token será revogado automaticamente.

Token vencido devido à falta de uso

O GitHub revogará automaticamente um token OAuth ou um personal access token quando o token não for usado em um ano.

Token revogado pelo usuário

Você pode revogar a sua autorização de um GitHub App ou OAuth app a partir das configurações da sua conta que irão revogar todos tokens associados ao aplicativo. Para saber mais, confira Revisar e revogar a autorização dos Aplicativos GitHub e Revisar aplicativos OAuth autorizados.

Depois que uma autorização for revogada, todos os tokens associados à autorização também serão revogados. Para autorizar novamente um aplicativo, siga as instruções do aplicativo ou do site de terceiros para conectar novamente sua conta em GitHub.

Token revogado por terceiros

Para impedir o acesso não autorizado usando tokens expostos, o GitHub recomenda a revogação do token para garantir que ele não possa mais ser usado para autenticação no GitHub. Se você encontrar personal access token de outro usuário vazados no GitHub ou em outro lugar, poderá enviar uma solicitação de revogação por meio da API REST. Confira Revogação.

Se um personal access token válido for enviado à API de revogação de credenciais do GitHub, o token será revogado automaticamente. Essa API permite que um terceiro revogue um token que não é de sua propriedade e ajuda a proteger os dados associados a esse token contra acesso não autorizado, limitando o impacto dos tokens expostos.

Para incentivar relatórios e garantir que tokens expostos possam ser revogados de maneira rápida e fácil, não precisamos de autenticação para as solicitações de revogação enviadas por meio da API. Como resultado, o GitHub não consegue fornecer mais informações sobre a origem do token relatado.

Token revogado por OAuth app

O proprietário de um OAuth app pode revogar a autorização de uma conta do seu aplicativo. Isso também irá revogar todos os tokens associados à autorização. Para obter mais informações de como revogar autorizações do OAuth app, confira Pontos de extremidade da API REST para autorizações de OAuth.

Proprietários de OAuth app também podem revogar tokens individuais associados a uma autorização. Para obter mais informações de como revogar tokens individuais do OAuth app, confira Pontos de extremidade da API REST para autorizações de OAuth.

Token revogado devido ao excesso de tokens para um OAuth app com o mesmo escopo

Há um limite de dez tokens emitidos por combinação de usuário/aplicativo/escopo e um limite de taxa de dez tokens criados por hora. Se um aplicativo criar mais de dez tokens para o mesmo usuário e os mesmos escopos, os tokens mais antigos com a mesma combinação de usuário/aplicativo/escopo serão revogados. No entanto, atingir o limite da taxa horária não revogará seu token mais antigo. Em vez disso, ele acionará um aviso de reautorização no navegador, solicitando que o usuário verifique novamente as permissões que está concedendo ao seu aplicativo. Esse prompt tem o objetivo de interromper qualquer possível loop infinito em que o aplicativo esteja preso, já que há pouca ou nenhuma razão para um aplicativo solicitar dez tokens do usuário em uma hora.

Token de usuário expirado devido à configuração de GitHub App

Os tokens de acesso de usuário criados por um GitHub App expirarão após oito horas por padrão e, em seguida, deverão ser regenerados usando o token de atualização incluído. Os proprietários de GitHub Apps podem, opcionalmente, configurar esses tokens para nunca expirarem, mas isso não é recomendado devido às implicações de segurança. Para saber mais sobre como configurar seus tokens de acesso de usuário do GitHub App, confira Ativando recursos opcionais para aplicativos do GitHub.