feat: plantilla base workspace SaaS
Some checks failed
Build Producción & Push a Harbor / test (push) Failing after 3s
Build Producción & Push a Harbor / build (push) Has been skipped
Aduanasoft/plantillas-proyectos/pipeline/head There was a failure building this commit

This commit is contained in:
2026-07-21 13:59:00 -05:00
commit bdd089954b
470 changed files with 70022 additions and 0 deletions

View File

@@ -0,0 +1,218 @@
# ✅ Verificar Configuración de Microsoft en Keycloak
## Paso 1: Verificar si Microsoft está configurado
Abre tu navegador y ve a:
```
http://localhost:8080/admin/master/console/#/master/identity-providers
```
Login: `admin` / `admin`
### ¿Qué deberías ver?
Si Microsoft está configurado, verás en la lista de Identity Providers:
-**microsoft** (o el alias que hayas usado)
- Con estado: **Enabled**
### Si NO ves "microsoft" en la lista:
**¡Necesitas configurarlo!** Sigue estos pasos:
---
## Paso 2: Configurar Microsoft en Keycloak (SI NO ESTÁ CONFIGURADO)
### 2.1 Crear App en Azure AD PRIMERO
Antes de configurar Keycloak, necesitas una aplicación en Azure:
1. Ve a [Azure Portal](https://portal.azure.com)
2. Busca **Azure Active Directory** o **Microsoft Entra ID**
3. **App registrations****New registration**
4. Configura:
- **Name**: `Anexo76`
- **Supported account types**: `Accounts in any organizational directory (Any Azure AD - Multitenant)`
- **Redirect URI**:
- Platform: `Web`
- URI: `http://localhost:8080/realms/master/broker/microsoft/endpoint`
- Click **Register**
5. **Copia el Application (client) ID** - lo necesitarás
6. Ve a **Certificates & secrets****New client secret**
- Descripción: `keycloak`
- Expira: 24 meses
- Click **Add**
- **¡COPIA EL SECRET VALUE AHORA!** (solo se muestra una vez)
### 2.2 Agregar Microsoft a Keycloak
1. En Keycloak Admin Console: http://localhost:8080
2. Login: `admin` / `admin`
3. Menú lateral: **Identity providers**
4. Dropdown: **Add provider** → Selecciona **Microsoft**
5. Configura:
```
Alias: microsoft
Display name: Microsoft
Enabled: ON ✅
Store tokens: ON ✅
Trust email: ON ✅
First login flow: first broker login
Client ID: [PEGA TU APPLICATION ID DE AZURE]
Client Secret: [PEGA TU SECRET DE AZURE]
```
6. Click **Save**
7. Ve a la pestaña **Mappers** y agrega estos 4 mappers:
**Mapper 1: email**
```
Name: email
Mapper type: Attribute Importer
Social profile JSON field path: email
User attribute name: email
```
**Mapper 2: firstName**
```
Name: firstName
Mapper type: Attribute Importer
Social profile JSON field path: given_name
User attribute name: firstName
```
**Mapper 3: lastName**
```
Name: lastName
Mapper type: Attribute Importer
Social profile JSON field path: family_name
User attribute name: lastName
```
**Mapper 4: username**
```
Name: username
Mapper type: Username Template Importer
Template: ${CLAIM.email}
Target: BROKER_USERNAME
```
---
## Paso 4: Verificar en tu App
1. Asegúrate de que el frontend esté corriendo: `http://localhost:5173`
2. Ve a la página de login: `http://localhost:5173/login`
3. Ingresa un tenant (ej: `aduanasoft`)
4. Click en el botón **"Iniciar sesión con Microsoft"**
### ¿Qué debería pasar?
**Correcto:**
- Te redirige a Microsoft login
- Ves la página de Microsoft pidiendo tu email/contraseña
- Después de autenticarte, vuelves a tu app
**Incorrecto (lo que te está pasando ahora):**
- Te lleva a la página de login de Keycloak
- Ves el usuario "admin" ya logueado
---
## Troubleshooting Común
### Error: "Identity provider not found"
- El alias en Keycloak debe ser exactamente `microsoft` (minúsculas)
- O cambia el código: `loginWithProvider('TU_ALIAS_EXACTO')`
### Error: redirect_uri_mismatch en Azure
- La URI en Azure debe ser EXACTAMENTE:
```
http://localhost:8080/realms/master/broker/microsoft/endpoint
```
- Nota el `/endpoint` al final
### Error: Unexpected error when authenticating with identity provider
```bash
docker cp azure.crt anexo76-keycloak:/
docker exec -it -u root anexo76-keycloak /bin/bash
keytool -importcert -trustcacerts -file /azure.crt \
-keystore /etc/java/java-21-openjdk/java-21-openjdk-21.0.8.0.9-1.el9.x86_64/lib/security/cacerts \
-alias azure-root -storepass changeit -noprompt
```
### Me redirige pero muestra error en Microsoft
- Verifica que el Client ID y Secret en Keycloak sean correctos
- Verifica que la app en Azure esté habilitada
### Funciona pero el usuario no tiene tenant_id
- Esto es normal en el primer login
- Puedes configurar un mapper adicional o manejarlo en tu backend
---
## Comando Rápido de Verificación
Ejecuta esto en una terminal:
```bash
# Verificar si el endpoint del broker existe
curl -s -o /dev/null -w "%{http_code}" "http://localhost:8080/realms/master/broker/microsoft/login?client_id=test&redirect_uri=http://localhost"
```
**Resultados:**
- `302` = ✅ Microsoft está configurado (redirige a Microsoft)
- `404` = ❌ Microsoft NO está configurado en Keycloak
- `500` = ⚠️ Hay un error de configuración
---
## Resumen Rápido
**Para que funcione necesitas:**
1. ✅ App Registration en Azure AD con Client ID y Secret
2. ✅ Identity Provider "microsoft" configurado en Keycloak
3. ✅ Redirect URI en Azure: `http://localhost:8080/realms/master/broker/microsoft/endpoint`
4. ✅ Variables de entorno en frontend (.env):
```
VITE_KEYCLOAK_URL=http://localhost:8080
VITE_KEYCLOAK_REALM=master
VITE_KEYCLOAK_CLIENT_ID=anexo76-frontend
```
**El flujo correcto es:**
```
Tu App → Keycloak Broker → Microsoft Login → Keycloak → Tu App
```
**Lo que está pasando ahora:**
```
Tu App → Keycloak Login (porque no encuentra el provider)
```
---
¿Necesitas ayuda con la configuración? Primero verifica en Keycloak Admin Console si existe el Identity Provider "microsoft".