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: 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

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": "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 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 Opcionais de Beta. Optional 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 aplicativo GitHubs existentes que usam tokens de autorização de usuário para servidor são afetados apenas por este novo fluxo quando o proprietário do aplicativo habilita expirar tokens de usuário para seu aplicativo.

Habilitar a expiração de tokens de usuário para aplicativo GitHubs existentes exige o envio de usuários através do fluxo do OAuth para reemitir tokens de usuário que expirarã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".

Leia mais

Esse documento ajudou você?Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.