La aplicación puede realizar solicitudes de API en nombre de un usuario. Las solicitudes de API realizadas por una aplicación en nombre de un usuario se atribuirán a ese usuario. Por ejemplo, si la aplicación publica un comentario en nombre de un usuario, en la IU de GitHub se mostrará la foto del avatar del usuario junto con el distintivo identicon de la aplicación como creador de la incidencia.
De forma similar, si la solicitud desencadena una entrada correspondiente en los registros de auditoría y de seguridad, los registros mostrarán al usuario como actor, pero indicarán que el valor de "programmatic_access_type" es "token de usuario a servidor de la aplicación de GitHub".
Para realizar una solicitud de API en nombre de un usuario, el usuario debe autorizar la aplicación. Si una aplicación está instalada en una organización que incluye varios miembros, cada miembro tendrá que autorizar la aplicación para que esta pueda actuar en su nombre. No es necesario instalar una aplicación para que un usuario la autorice.
Cuando un usuario instala una aplicación en su cuenta u organización, concede permiso a la aplicación para acceder a los recursos de la organización y del repositorio solicitados. Durante el proceso de instalación, también verás una lista de permisos de usuario que la aplicación puede solicitar para usuarios individuales. Cuando un usuario autoriza una aplicación, le concede permiso para actuar en su nombre y concede los permisos de usuario que la aplicación ha solicitado.
Una vez que un usuario haya autorizado la aplicación, puedes generar un token de acceso de usuario, que es un tipo de token de OAuth. Debes enviar el token de acceso de usuario en el encabezado Authorization
de las solicitudes de API posteriores. Para obtener más información sobre cómo solicitar a un usuario que autorice la aplicación y generar un token de acceso de usuario, consulta Generación de un token de acceso de usuario para una aplicación de GitHub.
Las solicitudes realizadas con un token de acceso de usuario a veces se denominan solicitudes de "usuario a servidor".
Un token tiene las mismas funcionalidades para acceder a los recursos y realizar acciones en esos recursos que las que tiene el propietario del token, y está limitado aún más por los ámbitos o permisos que se le hayan concedido. Un token no puede conceder funcionalidades de acceso adicionales a un usuario.
Si quieres atribuir la actividad de la aplicación a la aplicación en lugar de a un usuario, debes autenticarse como una instalación de la aplicación. Para más información, consulta Autenticación como una instalación de una aplicación de GitHub.
Note
Si un usuario informa de que no pueden ver los recursos que pertenecen a su organización después de autorizar tu GitHub App y la organización usa el inicio de sesión único de SAML, indica al usuario que inicie una sesión de SAML activa para su organización antes de volver a autorizar. Para más información, consulta "Aplicaciones SAML y GitHub" en la documentación de GitHub Enterprise Cloud.