Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Atualizar tokens de acesso do usuário para servidor

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.

Observação: Os tokens de usuário com data de vencimento atualmente fazem parte do beta com data de vencimento do token de usuário para servidor e estão sujeitos a alterações. Para optar por participar do recurso beta 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

NomeTipoDescrição
refresh_tokenstringObrigató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_typestringObrigatório. O valor deve ser refresh_token (exigido pela especificação do OAuth).
client_idstringObrigatório. O ID do cliente para o seu aplicativo GitHub.
client_secretstringObrigató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.

  1. No canto superior direito de qualquer página, clique na sua foto de perfil e, em seguida, clique em Configurações. Ícone Settings (Configurações) na barra de usuário
  2. Na barra lateral esquerda, clique em Developer settings (Configurações do desenvolvedor). Seção de configurações do desenvolvedor
  3. Na barra lateral esquerda, clique em Aplicativos GitHub. Seção de aplicativos do GitHub
  4. Clique em Editar próximo à sua escolha aplicativo GitHub. Configurações para edição de um aplicativo GitHub
  5. Na barra lateral esquerda, clique em Funcionalidades de Beta. Beta features tab
  6. 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.

Opção para expirar os tokens dos usuários durante a configuração dos aplicativos GitHub

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".