> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://helpdesk.ggcircuit.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 🔐 Usando ggLeap como proveedor de OpenID Connect (OIDC)

## 🔐 Usando ggLeap como proveedor OpenID Connect (OIDC)

ggLeap permite **OpenID Connect (OIDC)** para que aplicaciones de terceros autentiquen usuarios usando sus cuentas de ggLeap. Esto habilita integraciones como **"Iniciar sesión con ggLeap"** para aplicaciones de socios, sitios web o servicios.

OIDC se construye sobre OAuth 2.0 y permite que las aplicaciones verifiquen de manera segura la identidad del usuario y obtengan información básica del perfil.

## 🧠 Descripción general

Al integrar con el proveedor OIDC de ggLeap, las aplicaciones pueden:

* Permitir que los usuarios **inicien sesión usando su cuenta de ggLeap**
* Habilitar **Inicio de sesión único (SSO)** en aplicaciones compatibles
* Recuperar información del usuario como **correo electrónico, perfil y pertenencia a grupos**
* Soportar **autenticación específica del centro** cuando sea necesario

Las aplicaciones autentican usuarios a través de ggLeap y reciben una **respuesta de token** que confirma la identidad y los permisos solicitados.

## 🌐 Puntos finales del emisor OIDC

Las aplicaciones deben usar la **URL del emisor** apropiada según el entorno.

| Entorno | URL del emisor |
| ---- |
| Producción | `https://api.ggleap.com/production/oidc` |
| Beta | `https://api.ggleap.com/beta/oidc` |

Los metadatos de descubrimiento OIDC y las claves de firma pública están disponibles automáticamente en el punto final del emisor. La mayoría de las bibliotecas OIDC recuperarán esta configuración automáticamente.

## 🔑 Información de integración requerida

Para integrar con ggLeap OIDC, el desarrollador de la aplicación recibirá las siguientes credenciales:

| Parámetro | Descripción |
| ---- |
| **ID de cliente** | Identificador único para la aplicación |
| **Secreto de cliente** | Clave confidencial utilizada durante el intercambio de tokens |
| **URI(s) de redireccionamiento** | URL(s) de devolución de llamada HTTPS donde ggLeap envía respuestas de autenticación |

Estos valores deben configurarse en la configuración del cliente OIDC de la aplicación.

## 🔐 Solicitud de autorización

Las aplicaciones inician el inicio de sesión enviando usuarios al **punto final de autorización** de ggLeap.

**Punto final**

```
{issuer}/connect/authorize
```

**Ejemplo de solicitud de autorización**

```
{issuer}/connect/authorize
?client_id={client_id}
&redirect_uri={encoded_redirect_uri}
&response_type=code
&scope=openid%20email%20profile
&state=abc
&nonce=xyz
[&center_uuid={guid}]
```

### Parámetros

| Parámetro | Descripción |
| ---- |
| `client_id` | ID de cliente emitido para la aplicación |
| `redirect_uri` | Debe coincidir exactamente con una URL de redireccionamiento registrada |
| `response_type` | Usar `code` para el flujo de código de autorización |
| `scope` | Permisos solicitados |
| `state` | Valor de estado de la aplicación opcional |
| `nonce` | Valor de seguridad recomendado |
| `center_uuid` | Requerido si la aplicación admite múltiples centros |

## 🧾 Alcances disponibles

Las aplicaciones pueden solicitar los siguientes alcances durante la autenticación.

| Alcance | Descripción |
| ---- |
| `openid` | Requerido para la autenticación OIDC |
| `email` | Proporciona la dirección de correo electrónico del usuario |
| `profile` | Proporciona información básica del perfil |
| `group` | Devuelve la información del grupo de ggLeap del usuario |

## 🏢 Autenticación específica del centro

Algunas integraciones están vinculadas a un **centro de ggLeap específico**, mientras que otras admiten **múltiples centros**.

### Integraciones de centros

Las aplicaciones que admiten un único centro deben incluir:

```
center_uuid={guid}
```

en la **solicitud de autorización**.

## 🔁 Intercambio de tokens

Después de que el usuario inicia sesión correctamente, ggLeap redirige al usuario a la aplicación con un **código de autorización**.

La aplicación luego intercambia este código por tokens usando el punto final de tokens.

**Punto final**

```
{issuer}/connect/token
```

Se debe usar el **Flujo de código de autorización** OAuth estándar para este paso.

## 🚪 Cerrar sesión (finalizar sesión)

Las aplicaciones pueden cerrar la sesión de usuarios de sesiones de ggLeap usando el punto final de cierre de sesión.

**Punto final**

```
{issuer}/connect/logout
```

### Parámetros

| Parámetro | Descripción |
| ---- |
| `id_token_hint` | Token de la sesión de inicio de sesión reciente del usuario |
| `post_logout_redirect_uri` | URL de redireccionamiento opcional después de cerrar sesión |

Si se proporciona y se permite una URI de redireccionamiento válida, el usuario será redirigido después de cerrar sesión.

## ⚠️ Problemas de integración comunes

| Problema | Resolución |
| ---- |
| La URI de redireccionamiento no coincide | Asegúrate de que la URI de redireccionamiento coincida exactamente con la URL registrada |
| Falta `center_uuid` | Incluye el parámetro para aplicaciones de múltiples centros |
| La autenticación falla | Confirma el entorno correcto del emisor (producción vs beta) |
| El inicio de sesión no se completa | Asegúrate de que la aplicación esté utilizando el flujo de código de autorización |

## 🧪 Prueba de integración básica

Para verificar que la integración funciona:

1. Construye una solicitud de autorización usando tu **ID de cliente** e **URI de redireccionamiento**.
2. Abre la URL en un navegador.
3. Inicia sesión con una cuenta de ggLeap.
4. Confirma que la aplicación reciba un **código de autorización** en la URL de redireccionamiento.
5. Intercambia el código usando el **punto final de tokens**.

Si es exitoso, la aplicación recibirá **tokens de acceso e identidad** confirmando el inicio de sesión del usuario.