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 identificá-lo por sua conta em GitHub.com, você verá uma página com as informações de contato do desenvolvedor do aplicativo e uma lista dos dados específicos que estão sendo solicitados.

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

Dica: 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 obter mais informações, confira "Escopos para aplicativos OAuth".

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

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.

Nota: se você estiver encontrando problemas com um OAuth app ou GitHub App autorizado acessando uma organização protegida por SAML, talvez seja necessário revogar o aplicativo de sua 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