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 dados | Descrição |
---|---|
Status do commit | Você 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ções | O 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. |
Gists | O acesso de gist permite que os aplicativos leiam ou gravem conteúdo dos seus gists públicos e secretos. |
Ganchos | O acesso de webhooks permite que os aplicativos leiam ou gravem configurações de gancho nos repositórios que você gerencia. |
Notificações | O 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 equipes | O acesso às organizações e equipes permite que os apps acessem e gerenciem a associação à organização e à equipe. |
Dados pessoais do usuário | Os 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órios | As 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ório | Os apps podem solicitar a exclusão de repositórios que você administra, mas não terão acesso ao seu código. |
Projetos | Acesso 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.