# Crear el Cliente OAuth de Google — paso a paso

Esto es lo único que faltaba para que "Continuar con Google" funcione. Son
credenciales gratuitas, se crean en 5 minutos.

## 1. Entra a Google Cloud Console

Ve a: https://console.cloud.google.com/

Inicia sesión con tu cuenta de Gmail (puede ser cualquiera, no tiene que
ser la del dominio).

## 2. Crea un proyecto (si no tienes uno)

1. Arriba a la izquierda, junto al logo de "Google Cloud", haz clic en el
   selector de proyecto.
2. **"Proyecto nuevo"**.
3. Nombre: `Full Dominoes` (o el que quieras).
4. Clic en **"Crear"** y espera unos segundos a que quede seleccionado.

## 3. Configura la "Pantalla de consentimiento OAuth"

Antes de crear las credenciales, Google exige esto una vez por proyecto:

1. Menú lateral (☰) → **"APIs y servicios"** → **"Pantalla de consentimiento de OAuth"**.
2. Tipo de usuario: **"Externo"** → Crear.
3. Completa lo obligatorio:
   - Nombre de la app: `Full Dominoes`
   - Correo de asistencia: tu Gmail
   - Correo de contacto del desarrollador: tu Gmail
4. Guardar y continuar en las siguientes pantallas (Scopes, Test users) sin
   agregar nada más — clic en "Guardar y continuar" hasta terminar.
5. Al final, en "Estado de publicación", puedes dejarlo en **"Testing"**
   mientras solo lo usas tú (no requiere revisión de Google). Si más
   adelante quieres que cualquier persona pueda entrar con Google sin
   restricciones, ahí le das a "Publicar app".

   **Mientras esté en "Testing"**: solo pueden iniciar sesión los correos
   que agregues en la pestaña **"Usuarios de prueba"** de esa misma
   pantalla — agrega ahí tu correo (`samirhernandez0000@gmail.com`) y el de
   cualquier otra persona que vaya a probarlo contigo.

## 4. Crea el Client ID

1. Menú lateral → **"APIs y servicios"** → **"Credenciales"**.
2. **"+ Crear credenciales"** → **"ID de cliente de OAuth"**.
3. Tipo de aplicación: **"Aplicación web"**.
4. Nombre: `Full Dominoes Web` (o el que quieras, es solo para ti).
5. En **"Orígenes de JavaScript autorizados"** → **"+ Agregar URI"**:
   ```
   https://soluciondigital.pro
   ```
   - Sin `/domino_php`, sin barra al final. Es el **origen** (protocolo +
     dominio), no la ruta.
   - Si vas a seguir probando desde tu computador con `http://localhost`
     en algún momento, puedes agregar también `http://localhost:8000` como
     otro origen (Google permite varios).
6. **"Redirect URIs" puedes dejarlo vacío** — el flujo que usa este
   proyecto (Google Identity Services / botón "Sign in with Google") no
   redirige, funciona todo en la misma página.
7. Clic en **"Crear"**.

## 5. Copia el Client ID

Te va a aparecer un cuadro con:
```
ID de cliente: 123456789-abc...xyz.apps.googleusercontent.com
Secreto del cliente: GOCSPX-...
```

**Solo necesitas el "ID de cliente"** (el secreto no se usa en este flujo,
puedes ignorarlo). Cópialo completo, incluyendo el `.apps.googleusercontent.com`.

## 6. Pégalo en tu proyecto — UN SOLO LUGAR

Abre `includes/config.php` en el servidor y reemplaza:

```php
define('GOOGLE_CLIENT_ID', 'TU_CLIENT_ID.apps.googleusercontent.com');
```

por tu Client ID real. **No hay que tocar ningún archivo JS** — el
frontend lo pide automáticamente al backend (`api/config_publica.php`),
así evitamos que quede desincronizado en dos lugares.

## 7. Prueba

Recarga `https://soluciondigital.pro/domino_php/public/` y dale a
"Continuar con Google". Si sigue sin funcionar, lo más común es:

| Síntoma | Causa probable |
|---|---|
| `Error 401: invalid_client` | El Client ID en `config.php` está mal copiado, o el proyecto de Google no es el correcto |
| `redirect_uri_mismatch` o similar | El origen en el paso 5 no coincide EXACTO con tu dominio (revisa http vs https, o que no tenga barra al final) |
| "Esta app no está verificada" / acceso bloqueado | Tu correo no está en "Usuarios de prueba" del paso 3, y la app sigue en modo "Testing" |
| El botón de Google no aparece | Revisa la consola del navegador (F12) — puede ser que `config_publica.php` no esté respondiendo (símlink de `/api` no creado) |
