Skip to main content

Esta versão do GitHub Enterprise será descontinuada em 2023-01-18. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

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 GitHub App para usar tokens de acesso do usuário expirados.

Observação: atualmente, os tokens de usuário prestes a vencer são um recurso opcional e estão sujeitos a alterações. Para aceitar ou recusar o recurso de vencimento de token de usuário para servidor, confira "Como ativar recursos opcionais para aplicativos". Para obter mais informações, confira "Como expirar tokens de acesso de usuário para servidor para Aplicativos do 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 GitHub App para usar tokens de acesso do usuário expirados. Para obter mais informações sobre como fazer solicitações de usuário para servidor, confira "Como identificar e autorizar usuários para Aplicativos do 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 de usuário para servidor com validade, troque o refresh_token por um novo token de acesso e um 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 você usará para trocar um code temporário por um token de acesso. Para obter mais informações, confira "Como identificar e autorizar usuários para Aplicativos do GitHub" e "Noções básicas sobre autenticação".

Parâmetros

NomeTipoDescrição
refresh_tokenstringNecessário. O token gerado quando o proprietário do GitHub App habilita tokens com validade e emite um novo token de acesso do usuário.
grant_typestringNecessário. O valor precisa ser refresh_token (exigido pela especificação OAuth).
client_idstringNecessário. A ID do cliente do GitHub App.
client_secretstringNecessário. O segredo do cliente do GitHub App.

Resposta

{
  "access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
  "expires_in": "28800",
  "refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498",
  "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 GitHub App.

  1. No canto superior direito de qualquer página, clique na foto do seu perfil e em Configurações.

    Ícone Settings (Configurações) na barra de usuário

  2. In the left sidebar, click Developer settings. Developer settings

  3. Na barra lateral esquerda, clique em Aplicativos do GitHub. Seção Aplicativos do GitHub

  4. Clique em Editar ao lado do GitHub App escolhido. Configurações para edição de um Aplicativo do GitHub

  5. Na barra lateral esquerda, clique em Recursos Opcionais. Guia Recursos Opcionais

  6. Ao lado de "Validade do token de usuário para servidor", clique em Aceitar ou em Recusar. Essa 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 GitHub App, 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 GitHub Apps 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 GitHub Apps 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, confira "Como identificar e autorizar usuários para Aplicativos do GitHub".

Leitura adicional