1
0
mirror of synced 2026-01-26 03:06:48 -05:00
Files
docs/translations/es-ES/content/developers/apps/identifying-and-authorizing-users-for-github-apps.md
Vanessa Yuen 5336b9a35c translations batch (#17637)
* New Crowdin translations by Github Action

* fix frontmatter errors in translation

* fix release notes

* revert broken translation to main

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2021-02-02 19:56:26 +00:00

67 KiB

title, intro, redirect_from, versions
title intro redirect_from versions
Identificar y autorizar usuarios para las GitHub Apps {% data reusables.shortdesc.identifying_and_authorizing_github_apps %}
/early-access/integrations/user-identification-authorization/
/apps/building-integrations/setting-up-and-registering-github-apps/identifying-users-for-github-apps/
/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps
free-pro-team enterprise-server github-ae
* * *

{% data reusables.pre-release-program.expiring-user-access-tokens-beta %}

Cuando tu GitHub App actúe en nombre de un usuario, ésta realiza solicitudes de usuario a servidor. Estas solicitudes deben autorizarse con un token de acceso de usuario. Las solicitudes de usuario a servidor incluyen el solicitar datos para un usuario, como el determinar qué repositorios mostrar a un usuario en particular. Estas solicitudes también incluyen las acciones que activa un usuario, como ejecutar una compilación.

{% data reusables.apps.expiring_user_authorization_tokens %}

Identificar usuarios en tu sitio

Para autorizar a los usuarios para las apps estándar que se ejecutan en el buscador, utiliza el flujo de aplicaciones web.

{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} Para autorizar a los usuarios para apps sin interfaz gráfica sin acceso directo al buscador, tales como las herramientas de CLI o administradores de credenciales de Git, utiliza el flujo del dispositivo. El flujo de dispositivos utiliza el Otorgamiento de Autorizción de Dispositivos de OAuth 2.0. {% endif %}

Flujo de aplicaciones Web

Al utilizar el flujo de aplicaciones web, el proceso para identificar a los usuarios en tu sitio es:

  1. Se redirecciona a los usuarios para solicitar su identidad de GitHub
  2. GitHub redirecciona a los usuarios de vuelta a tu sitio
  3. Tu GitHub App accede a la API con el token de acceso del usuario

Si seleccionas Solicitar la autorización del usuario (OAuth) durante la instalación cuando crees o modifiques tu app, el paso 1 se completará durante la instalación de la misma. Para obtener más información, consulta la sección "Autorizar usuarios durante la instalación".

1. Solicita la identidad de un usuario de GitHub

GET {% data variables.product.oauth_host_code %}/login/oauth/authorize

Cuando tu GitHub App especifica un parámetro de login, solicita a los usuarios con una cuenta específica que pueden utilizar para registrarse y autorizar tu app.

Parámetros
Nombre Type Descripción
client_id secuencia Requerido. La ID de cliente para tu GitHub App. Puedes encontrarla en los Ajustes de tu GitHub App cuando selecciones tu app.
redirect_uri secuencia La URL en tu aplicación a donde se enviará a los usuarios después de la autorización. Esta debe ser una copia exacta de {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} una de las URL que proporcionaste como URL de rellamado {% else %} la URL que proporcionaste en el campo URL de rellamado de autorización de usuario {% endif %} cuando configuraste tu GitHub App y no puede contener ningún parámetro adicional.
state secuencia Este deberá contener una secuencia aleatoria para dar protección contra los ataques de falsificación y podría contener cualquier otros datos arbitrarios.
login secuencia Sugiere una cuenta específica para utilizar para registrarse y autorizar la app.

{% note %}

Nota: No necesitas proporcionar alcances en tu solicitud de autorización. A diferencia de la OAuth trandicional, el token de autorizción se limita a los permisos asociados con tu GitHub App y a aquellos del usuario.

{% endnote %}

2. GitHub redirecciona a los usuarios de vuelta a tu sitio

Si el usuario acepta tu solicitud, GitHub te redirecciona de regreso a tu sitio con un code temporal en un parámetro de código así como con el estado que proporcionaste en el paso anterior en el parámetro state. Si los estados no coinciden significa que un tercero creó la solicitud y que se debe anular el proceso.

{% note %}

Nota: Si seleccionas **Solicitar la autorización del usuario (OAuth) durante la instalación ** cuando creas o modificas tu app, GitHub regreará un code temporal que necesitarás intercambiar por un token de acceso. El parámetro state no se regresa cuando GitHub inicia el flujo de OAuth durante la instalación de la app.

{% endnote %}

Intercambia este code por un token de acceso. {% if currentVersion == "free-pro-team@latest" %} Cuando se habilita el vencimiento de tokens, el token de acceso vence en 8 horas yel token de actualización en 6 meses. Cada que actualizas el token, obtienes un nuevo token de actualización. Para obtener más información, consulta la sección "Actualizar los tokens de acceso de usuario a servidor".

Los tokens de usuario con caducidad son parte del beta de caducidad de tokens de usuario a servidor actualmente y están sujetos a cambios. Para participar en la característica beta de tokens de usuario a servidor con caducidad, consulta la sección "Activar las características beta para las aplicaciones".{% endif %}

POST {% data variables.product.oauth_host_code %}/login/oauth/access_token
Parámetros
Nombre Type Descripción
client_id secuencia Requerido. La ID de cliente para tu GitHub App.
client_secret secuencia Requerido. El secreto de cliente para tu GitHub App.
código secuencia Requerido. El código que recibiste como respuesta al Paso 1.
redirect_uri secuencia La URL en tu aplicación a donde se enviará a los usuarios después de la autorización. Esta debe ser una copia exacta de {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} una de las URL que proporcionaste como URL de rellamado {% else %} la URL que proporcionaste en el campo URL de rellamado de autorización de usuario {% endif %} cuando configuraste tu GitHub App y no puede contener ningún parámetro adicional.
state secuencia La secuencia aleatoria indescifrable que proporcionaste en el Paso 1.
Respuesta

{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}

Predeterminadamente, la respuesta toma la siguiente forma. Los parámetros de respuesta expires_in, refresh_token, y refresh_token_expires_in solo se devuelven cuando habilitas el beta para la caducidad de los tokens de acceso de usuario a servidor.

{
  "access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a",
  "expires_in": "28800",
  "refresh_token": "r1.c1b4a2e77838347a7e420ce178f2e7c6912e1692",
  "refresh_token_expires_in": "15811200",
  "scope": "",
  "token_type": "bearer"
}

{% else %}

Predeterminadamente, la respuesta toma la siguiente forma:

access_token=e72e16c7e42f292c6912e7710c838347ae178b4a&token_type=bearer

{% endif %}

3. Tu GitHub App accede a la API con el token de acceso del usuario

El token de acceso del usuario permite que la GitHub App haga solicitudes a la API a nombre del usuario.

Authorization: token OAUTH-TOKEN
GET {% data variables.product.api_url_code %}/user

Por ejemplo, en curl, puedes configurar el encabezado de autorización de la siguiente manera:

curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user

{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}

Flujo de dispositivos

{% if currentVersion ver_lt "enterprise-server@3.1" %} {% note %}

Nota: El flujo de dispositivos se encuentra en un beta público y está sujeto a cambios.

{% endnote %} {% endif %}

Este flujo de dispositivos te permite autorizar usuarios para una app sin encabezado, tal como una herramienta de CLI o un administrador de credenciales de Git.

Para obtener más información acerca de autorizar a usuarios utilizando el flujo de dispositivos, consulta la sección "Autorizar Apps de OAuth".

{% endif %}

Revisar a qué recursos de instalación puede acceder un usuario

{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} {% data reusables.pre-release-program.machine-man-preview %} {% data reusables.pre-release-program.api-preview-warning %} {% endif %}

Ya que tengas un token de OAuth para un usuario, puedes revisar a qué instalaciones puede acceder.

Authorization: token OAUTH-TOKEN
GET /user/installations

También puedes verificar qué repositorios se encuentran accesibles para un usuario para una instalación.

Authorization: token OAUTH-TOKEN
GET /user/installations/:installation_id/repositories

Puedes encontrar más detalles en: Listar instalaciones de app accesibles para el token de acceso del usuario y Listar repositorios accesibles para el token de acceso del usuario.

Gestionar una autorización revocada a una GitHub App

Si un usuario revoca su autorización de una GitHub App, dicha app recibirá el webhook github_app_authorization predeterminadamente. Las GitHub Apps no pueden desuscribirse de este evento. {% data reusables.webhooks.authorization_event %}

Permisos a nivel de usuario

Puedes agregar permisos a nivel de usuario a tu GitHub App para acceder a los recursos del usuario, tales como correos electrónicos del usuario, los cuales otorgan los usuarios independientes como parte del flujo de autorización del usuario. Los permisos a nivel de usuario difieren de los permisos a nivel de organización y de repositorio, los cuales se otorgan en el momento de la instalación en una cuenta de usuario o de organización.

Puedes seleccionar los permisos a nivel de usuario desde dentro de la configuración de tu GitHub App en la sección de Permisos de usuario de la página de Permisos & webhooks. Para obtener más información sobre seleccionar permisos, consulta la sección Editar los permisos de una GitHub App".

Cuando un usuario instala tu app en su cuenta, el aviso de instalación listará los permisos a nivel de usuario que tu app está solicitando y explicará que la app puede pedir estos permisos a los usuarios independientes.

Ya que los permisos a nivel de usuario se otorgan individualmente, puedes agregarlos a tu app existente sin solicitar que los usuarios los mejoren. Sin embargo, necesitarás enviar usuarios existentes a través del flujo de autorización de usuarios para autorizar los permisos nuevos y obtener un token nuevo de usuario a servidor para estas solicitudes.

Solicitudes de usuario a servidor

Mientras que la mayoría de tu interacción con la API deberá darse utilizando tus tokens de acceso a la instalación de servidor a servidor, ciertas terminales te permiten llevar a cabo acciones a través de la API utilizando un token de acceso. Tu app puede hacer las siguientes solicitudes utilizando las terminales de GraphQL v4 o de REST v3.

Terminales compatibles

{% if currentVersion == "free-pro-team@latest" %}

Ejecutores de Acciones
Secretos de las Acciones

{% if currentVersion == "free-pro-team@latest" %}

Artefactos
Ejecuciones de Verificación
Conjuntos de Verificaciones
Códigos de Conducta
Estados de Despliegue
Implementaciones
Eventos
Fuentes
Blobs de Git
Confirmaciones de Git
Referencias de Git
Matrículas de Git
Árboles de Git
Plantillas de Gitignore
Instalaciones

{% if currentVersion == "free-pro-team@latest" %}

Límites de interacción
Asignados de Informes de Problemas
Comentarios de Informes de Problemas
Eventos de Informe de Problemas
Línea de tiempo del Informe de Problemas
Problemas

{% if currentVersion == "free-pro-team@latest" %}

Jobs
Etiquetas
Licencias
Markdown
Meta
Hitos
Ganchos de organización

{% if currentVersion == "free-pro-team@latest" %}

Invitaciones a las Organizaciones
Miembros de la Organización
Colaboradores Externos de una Organización

{% if enterpriseServerVersions contains currentVersion %}

Ganchos de Pre-recepción de la Organización

{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}

Poyectos de Equipo de una Organización
Repositorios de Equipo de la Organización

{% if currentVersion == "free-pro-team@latest" %}

Sincronización de Equipos de la Organización
Equipos de la Organización
Organizaciones

{% if currentVersion == "free-pro-team@latest" %}

Autorizaciones de Credencial para las Organizaciones

{% if currentVersion == "free-pro-team@latest" %}

Scim de las Organizaciones

{% if currentVersion == "free-pro-team@latest" %}

Importaciones de Código Fuente
Colaboradores de Proyecto
Proyectos
Comentarios de Extracción
Eventos de Revisión en Solciitudes de Extracción
Solicitudes de Revisión para Solicitudes de Extracción
Revisiones de Solicitudes de Extracción
Extracciones
Reacciones

{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}* Borrar una reacción{% else %}* Borrar una reacción{% endif %}

Repositorios
Actividad del Repositorio

{% if currentVersion == "free-pro-team@latest" %}

Correcciones de Seguridad Automatizadas de un Repositorio
Ramas de los Repositorios
Colaboradores del Repositorio
Comentarios de Confirmaciones de un Repositorio
Confirmaciones de Repositorio
Comunidad del Repositorio
Contenido de los Repositorios

{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}

Envíos de Evento de un Repositorio
Ganchos de Repositorio
Invitaciones a un repositorio
Claves de Repositorio
Páginas de Repositorio

{% if enterpriseServerVersions contains currentVersion %}

Ganchos de Pre-recepción de un Repositorio
Lanzamientos de repositorio
Estadísticas de Repositorio

{% if currentVersion == "free-pro-team@latest" %}

Alertas de Vulnerabilidad en Repositorios
Raíz
Buscar
Estados
Debates de Equipo
Temas

{% if currentVersion == "free-pro-team@latest" %}

Tráfico

{% if currentVersion == "free-pro-team@latest" %}

Bloquear Usuarios

{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}

Correo Electrónico de Usuario

{% if currentVersion == "free-pro-team@latest" %}

Seguidores del Usuario
Utilizar Llaves Gpg
Llaves Públicas de Usuario
Usuarios

{% if currentVersion == "free-pro-team@latest" %}

Ejecuciones de Flujo de Trabajo

{% if currentVersion == "free-pro-team@latest" %}

Flujos de trabajo