Skip to main content

Enterprise Server 3.15 está disponível no momento como versão release candidate.

Autenticação com um aplicativo GitHub em nome de um usuário

O GitHub App pode executar ações em nome de um usuário, como criar um problema, postar um comentário ou criar uma implantação.

Seu aplicativo pode fazer solicitações de API em nome de um usuário. As solicitações de API feitas por um aplicativo em nome de um usuário serão atribuídas a esse usuário. Por exemplo, se o aplicativo postar um comentário em nome de um usuário, a interface do usuário do GitHub mostrará a foto do avatar do usuário, acompanhado do selo identicon do aplicativo como o autor do problema.

Captura de tela de um comentário que tem um avatar de usuário com um selo identicon do aplicativo sobreposto. O avatar é realçado com um contorno laranja.

Da mesma forma, se a solicitação disparar uma entrada correspondente nos logs de auditoria e nos logs de segurança, os logs listarão o usuário como o ator, mas informarão que o "programmatic_access_type" é "token de usuário para servidor do Aplicativo GitHub".

Para fazer uma solicitação de API em nome de um usuário, ele deve autorizar o aplicativo. Se um aplicativo estiver instalado em uma organização com vários membros, cada membro precisará autorizar o aplicativo antes que ele possa agir em seu nome. Um aplicativo não precisa ser instalado para que um usuário autorize o aplicativo.

Quando um usuário instala um aplicativo na conta ou na organização, ele concede ao aplicativo permissão para acessar a organização e os recursos do repositório solicitados. Durante o processo de instalação, ele também verá uma lista de permissões de conta que o aplicativo pode solicitar para usuários individuais. Quando um usuário autoriza um aplicativo, ele concede ao aplicativo permissão para agir no nome dele e concede as permissões de conta solicitadas pelo aplicativo.

Depois que um usuário autorizar seu aplicativo, você poderá gerar um token de acesso do usuário, que é um tipo de token OAuth. Envie o token de acesso do usuário no cabeçalho Authorization das solicitações de API subsequentes. Para obter mais informações sobre como solicitar que um usuário autorize seu aplicativo e gere um token de acesso do usuário, confira "Como gerar um token de acesso do usuário para um GitHub App".

As solicitações feitas com um token de acesso de usuário às vezes são chamadas de solicitações de "usuário para servidor".

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.

Caso você deseje atribuir a atividade do aplicativo ao aplicativo em vez de a um usuário, autentique-se como uma instalação de aplicativo. Para obter mais informações, confira "Como autenticar como uma instalação de Aplicativo GitHub".

Observação: Se um usuário relatar que não pode ver recursos pertencentes à organização depois de autorizar o GitHub App e a organização estiver usando o SSO do SAML, instrua-o a iniciar uma sessão SAML ativa para a organização antes de reautorizar. Para obter mais informações, confira "SAML e aplicativos GitHub" na documentação do GitHub Enterprise Cloud.