Skip to main content

Autorizar aplicativos OAuth

Você pode conectar sua identidade do GitHub a aplicativos de terceiros usando o OAuth. Ao autorizar um OAuth app, você deve ter certeza de que se trata de um aplicativo confiável, examinar por quem ele foi desenvolvido e analisar os tipos de informação que o aplicativo quer acessar.

Quando um OAuth app quiser identificar você pela sua conta em GitHub, você verá uma página com as informações de contato do desenvolvedor do aplicativo e uma lista dos dados específicos que estiverem sendo solicitados.

Tip

Você precisa verificar seu endereço de email antes de autorizar um OAuth app.

Acesso do OAuth app

Os OAuth apps podem ter acesso de leitura ou de gravação nos dados do GitHub.

  • O acesso de leitura só permite que um aplicativo visualize seus dados.
  • O acesso de gravação permite que um aplicativo altere seus dados.

Tip

Recomendamos que você revise regularmente as integrações autorizadas. Remova todos os aplicativos e tokens que não tenham sido usados por um tempo. Para obter mais informações, confira "Revisar aplicativos OAuth autorizados".

Sobre os escopos do OAuth

Os escopos são grupos de permissões nomeados que um OAuth app pode solicitar para acessar dados públicos e privados.

Quando quiser usar um OAuth app que se integre ao GitHub, esse app permitirá que você saiba qual tipo de acesso aos seus dados será necessário. Se você conceder acesso ao app, este poderá executar ações em seu nome, como ler ou modificar os dados. Por exemplo, se você quiser usar um aplicativo que solicite o escopo de user:email, o aplicativo terá acesso somente leitura aos seus endereços de email privados. Para saber mais, confira Escopos para aplicativos OAuth.

Note

Atualmente, não é possível definir o escopo do acesso ao código-fonte como somente leitura.

Um token tem os mesmos recursos para acessar recursos e executar ações nesses recursos que o proprietário do token e é ainda mais limitado por quaisquer escopos ou permissões concedidos ao token. Um token não pode conceder recursos de acesso adicionais a um usuário. Por exemplo, um aplicativo pode criar um token de acesso configurado com um escopo admin:org, mas se o usuário do aplicativo não for o proprietário da organização, o aplicativo não receberá acesso administrativo à organização.

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.

Tipos de dados solicitados

OAuth apps pode solicitar vários tipos de dados.

Tipo de dadosDescrição
Status do commitVocê pode conceder acesso para um app relatar seu status de commit. O acesso ao status do commit permite que os apps determinem se uma compilação foi bem-sucedida em relação a um commit específico. Os apps não terão acesso ao seu código, mas poderão ler e gravar informações de status em relação a um commit específico.
ImplantaçõesO acesso ao status da implantação permite que os apps determinem se uma implantação foi bem-sucedida em relação a um commit específico para repositórios públicos e privados. Os apps não terão acesso ao seu código.
GistsO acesso de gist permite que os aplicativos leiam ou gravem conteúdo dos seus gists públicos e secretos.
GanchosO acesso de webhooks permite que os aplicativos leiam ou gravem configurações de gancho nos repositórios que você gerencia.
NotificaçõesO acesso à notificação permite que os apps leiam as notificações do GitHub, como comentários sobre problemas ou pull requests. No entanto, os apps continuam sem poder acessar nada nos repositórios.
Organizações e equipesO acesso às organizações e equipes permite que os apps acessem e gerenciem a associação à organização e à equipe.
Dados pessoais do usuárioOs dados do usuário incluem informações encontradas no seu perfil de usuário, como nome, endereço de e-mail e localização.
RepositóriosAs informações de repositório incluem os nomes dos contribuidores, os branches que você criou e os arquivos reais dentro do repositório. Os apps podem solicitar acesso para repositórios públicos ou privados em um nível amplo de usuário.
Exclusão de repositórioOs apps podem solicitar a exclusão de repositórios que você administra, mas não terão acesso ao seu código.
ProjetosAcesso projects de usuário e da organização. Os aplicativos podem solicitar acesso de leitura/gravação ou somente leitura.

Solicitar permissões atualizadas

Quando OAuth apps solicitar novas permissões de acesso, você será notificado sobre as diferenças entre as permissões atuais e as novas permissões.

OAuth apps e organizações

Quando você autoriza OAuth app para sua conta pessoal, também verá como essa autorização afetará cada organização da qual você é membro.

  • Para as organizações com restrições de acesso do OAuth app, você pode solicitar que os proprietários da organização aprovem o aplicativo para uso nessa organização. Se a organização não aprovar o aplicativo, o aplicativo só poderá acessar os recursos públicos da organização. Se você for um proprietário da organização, poderá aprovar o aplicativo por conta própria.

  • Para as organizações sem restrições de acesso do OAuth app, o aplicativo será autorizado automaticamente para acesso aos recursos dessa organização. Por esse motivo, você deve ter cuidado com quais OAuth apps você aprova para acesso aos recursos da sua conta pessoal, bem como a todos os recursos da organização.

Se você pertencer a qualquer organização com SSO (logon único) SAML habilitado e tiver criado uma identidade vinculada para essa organização autenticando via SAML no passado, deverá ter uma sessão SAML ativa para cada organização sempre que autorizar um OAuth app.

Note

Caso você esteja tendo problemas com o acesso de um OAuth app ou de um GitHub App autorizado em uma organização protegida por SAML, talvez seja necessário revogar o aplicativo da página GitHub Apps autorizado ou OAuth apps autorizado, acessar a organização para autenticar e estabelecer uma sessão SAML ativa e tentar autorizar novamente o aplicativo por meio do acesso.

Leitura adicional