---
title: Crear una aplicación OAuth de GitHub para OpenConnector
description: Crea una aplicación OAuth de GitHub, configura la URL de callback y
  conecta GitHub a un entorno de ejecución de OOMOL OpenConnector autoalojado.
lang: es
canonical_url: https://oomol.com/es/docs/openconnector-github-oauth-app/
markdown_url: https://oomol.com/es/docs/openconnector-github-oauth-app.md
---

# Crear una aplicación OAuth de GitHub para OpenConnector

Usa una aplicación OAuth de GitHub cuando OpenConnector necesite una conexión de GitHub autorizada por el usuario. Una aplicación OAuth proporciona un flujo de autorización en el navegador; un token de acceso personal admite la configuración de tokens gestionada por el administrador.

## Servicio de OpenConnector

| ID de servicio | Proveedor | Tipo de autenticación |
| --- | --- | --- |
| `github` | GitHub | OAuth2 |

El proveedor OAuth de GitHub de OpenConnector puede solicitar ámbitos como `read:user`, `user:email`, `repo`, `workflow` y `delete_repo`. Concede solo los ámbitos que necesites para las acciones que planeas ejecutar.

## Requisitos previos

- Un entorno de ejecución de OpenConnector en funcionamiento.
- Una cuenta o organización de GitHub donde puedas crear aplicaciones OAuth.
- El origen de OpenConnector que los usuarios abren en el navegador, como `http://localhost:3000` o `https://connect.example.com`.

## Paso 1: Establecer la URL de callback de OpenConnector

Construye la URL de callback añadiendo `/oauth/callback` a tu origen de OpenConnector. Para pruebas locales, usa `http://localhost:3000/oauth/callback`. Para una implementación pública, establece `OOMOL_CONNECT_ORIGIN`, reinicia OpenConnector y usa la URL de callback pública, como `https://connect.example.com/oauth/callback`.

## Paso 2: Registrar una aplicación OAuth de GitHub

En GitHub:

1. Abre **Settings**.
2. Abre **Developer settings**.
3. Abre **OAuth Apps**.
4. Elige **New OAuth App**.
5. Completa el nombre de la aplicación y la URL de la página de inicio.
6. Establece **Authorization callback URL** en la URL de callback exacta de OpenConnector.
7. Registra la aplicación.

La guía oficial de GitHub es [Creating an OAuth app](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app). Las aplicaciones OAuth de GitHub tienen una sola URL de callback de autorización, así que crea aplicaciones separadas para local, staging y producción si cada entorno tiene una URL de callback diferente.

## Paso 3: Copiar las credenciales del cliente

Desde la página de la aplicación OAuth de GitHub, copia:

| Valor de GitHub | Campo de OpenConnector |
| --- | --- |
| Client ID | `clientId` |
| Client secret | `clientSecret` |

## Paso 4: Guardar el cliente de GitHub en OpenConnector

Usa la consola web de OpenConnector:

1. Abre la consola web de OpenConnector, como `http://localhost:3000`.
2. Abre **Providers** y selecciona **GitHub**.
3. Elige **Configure OAuth Client** o **Edit OAuth Client**.
4. Pega el client ID y el client secret de GitHub.
5. Elige **Save OAuth Client**.

## Paso 5: Conectar y probar

Después de guardar el cliente OAuth, elige **Connect** en la página del proveedor GitHub. Aprueba la aplicación OAuth de GitHub, vuelve a OpenConnector y confirma que la página del proveedor muestra la cuenta como conectada.

Usa `github.get_current_user` como una acción de prueba de bajo riesgo desde la lista de acciones de la consola.

## Solución de problemas

| Síntoma | Qué comprobar |
| --- | --- |
| URI de redirección no coincidente | La URL de callback de autorización de GitHub debe coincidir exactamente con `<openconnector-origin>/oauth/callback`. |
| La cuenta incorrecta autorizó la aplicación | Cierra sesión en GitHub o usa un perfil de navegador limpio antes de iniciar la autorización. |
| Fallan las acciones del repositorio | Puede que la conexión no tenga el ámbito `repo` o que el usuario no tenga acceso al repositorio de destino. |
| Fallan las acciones del flujo de trabajo | Puede que la conexión no tenga el ámbito `workflow`. Vuelve a conectar después de ajustar los ámbitos solicitados. |
| Fallan las acciones de eliminación | Evita `delete_repo` a menos que necesites intencionadamente acciones destructivas en el repositorio. |
