Observação: Tokens de usuário vencidos são atualmente um recurso opcional e estão sujeitos a alterações. Para optar por participar do recurso de expiração de token de usuário para servidor, consulte "Habilitar funcionalidades opcionais para aplicativos". Para obter mais informações, consulte "Tokens com data de vencimento de acesso de usuário para servidor para aplicativos GitHub".
Sobre os tokens de acesso do usuário expirados
Para aplicar a rotação regular do token e reduzir o impacto de um token comprometido, você pode configurar seu aplicativo GitHub para usar tokens de acesso do usuário expirados. Para obter mais informações sobre como fazer solicitações de usuário para servidor, consulte "Identificando e autorizando usuários para aplicativos GitHub".
Os tokens de usuário expiram após 8 horas. Ao receber um novo token de acesso do usuário para servidor, a resposta também conterá um token de atualização, que pode ser trocado por um novo token de usuário e token de atualização. Os tokens de atualização são válidos por 6 meses.
Renovar um token de usuário com um token de atualização
Para renovar um token de acesso do usuário para servidor, você pode trocar o refresh_token
por um novo token de acesso e por refresh_token
.
POST https://github.com/login/oauth/access_token
Esta solicitação de retorno de chamada enviará um novo token de acesso e um novo token de atualização. Essa solicitação de retorno de chamada é semelhante � solicitação do OAuth que usaria para trocar um código
temporário por um token de acesso. Para obter mais informações, consulte "Identificando e autorizando usuários para aplicativos GitHub" e "Princípios básicos da autenticação".
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
refresh_token | string | Obrigatório. O token gerado quando o proprietário do aplicativo GitHub habilita tokens expirados e emite um novo token de acesso do usuário. |
grant_type | string | Obrigatório. O valor deve ser refresh_token (exigido pela especificação do OAuth). |
client_id | string | Obrigatório. O ID do cliente para o seu aplicativo GitHub. |
client_secret | string | Obrigatório. O segredo do cliente para o seu aplicativo GitHub. |
Resposta
{
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a",
"expires_in": "28800",
"refresh_token": "r1.c1b4a2e77838347a7e420ce178f2e7c6912e169246c34e1ccbf66c46812d16d5b1a9dc86a149873c",
"refresh_token_expires_in": "15811200",
"scope": "",
"token_type": "bearer"
}
Configurar tokens de usuário expirados para um aplicativo GitHub existente
Você pode habilitar ou desabilitar a expiração de tokens de autorização usuário para servidor nas suas configurações do aplicativo GitHub.
-
No canto superior direito de qualquer página, clique na sua foto de perfil e, em seguida, clique em Configurações.
-
Na barra lateral esquerda, clique em Developer settings (Configurações do desenvolvedor).
-
Na barra lateral esquerda, clique em Aplicativos GitHub.
-
Clique em Editar próximo � sua escolha aplicativo GitHub.
-
Na barra lateral esquerda, clique em Funcionalidades opcionais.
-
Ao lado de "Expiração do token do usuário para o servidor", clique em Participar ou Não participar. Esta configuração pode levar alguns segundos para ser aplicada.
Não participar dos tokens expirados para novos aplicativos do GitHub
Quando você cria um novo aplicativo GitHub, por padrão, seu aplicativo usará os tokens de acesso expirados do usuário para servidor.
Se você desejar que o seu aplicativo use tokens de acesso do usuário para servidor que não expiram, você pode desmarcar a opção "Expirar tokens de autorização do usuário" na página de configurações do aplicativo.
Os Aplicativos do GitHub existentes que usa tokens de autorização de usuário para servidor só são afetados por este novo fluxo quando o proprietário do aplicativo habilita o vencimento de tokens de usuário para seu aplicativo.
Habilitar o vencimento de tokens de usuário para Aplicativos do GitHub existentes exige o envio de usuários por meio do do fluxo do OAuth para reemitir tokens de usuário que vencerão em 8 horas e fazer uma solicitação com o token de atualização para obter um novo token de acesso e token de atualização. Para obter mais informações, consulte "Identificar e autorizar usuários para aplicativos GitHub".