Laboratorio 001 - Instalación y configuración de Keycloak
A continuación, realizaremos la instalación de nuestra instancia de Keycloak, la cual sera realizada mediante el uso de un contenedor, para acelerar el proceso de dicha creación.
1. Instalación de Keycloak
1.1. Ejecutar el siguiente comando para descargar y desplegar nuestra instancia de Keycloak.
docker run -p 8080:8080 -e KC_BOOTSTRAP_ADMIN_USERNAME=admin -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:26.1.4 start-dev
1.2. Verificar si se realizo correctamente la instalación, accediendo a la siguiente ruta desde un navegador:
La cual debería de desplegar la siguiente aplicación en el navegador.

1.3. Acceder al portal de keycloak para proceder con la siguiente parte de la practica, mediante las siguiente credenciales:
- Usuario: admin
- Password: admin

2. Creación del Realm en Keycloak
2.1. Acceder a la consola de Keycloak con las credenciales de la sección anterior (admin:admin).
2.2. En la sección de Realms ubicada debajo del logo de Keycloak, dar clic y presionar el botón de Create Realm.

2.3 Crear un realm llamada labs, colocando el nombre en el campo de Realm name, y pulsar el botón Create.

2.4. A continuación, se abrirá automáticamente el realm que acabamos de crear y con esto concluimos esta sección del laboratorio.

3. Creación del Cliente en Keycloak
3.1. Acceder al realm que configuramos en la sección anterior.
3.2. En la barra de navegación, seleccionar la opción Clients.

3.3. Pulsar el botón Create client, y colocar la siguiente información:
3.3.1. En la sección General settings llenar la información que a continuación se presenta y presionar el botón Next:
- Client ID: consumidor_autorizado_oauth
- Name: Cliente Autorizado OAuth
- Description: Cliente para aseguramiento de apis desde Xposer Server

3.3.2. En la sección de Capability config, mantener todo como esta y presionar el botón de Next

3.3.3. En la sección de Login settings, colocar la información del xposer server.
- Root URL: https://localhost:8443
- Home URL: https://localhost:8443
- Web origins: *

Nota: Para efectos prácticos, estos valores son solo de carácter informativo. Estos tomaran relevancia al ser usados para identificación en ambientes web públicos y productivos.
3.4. Dar clic nuevamente en la sección de Clients en el menu de navegación y dar clic en el cliente que generamos en los pasos anteriores.:

Activar la opción de Client Authentication para poder obtener el Client Secret del acceso. Salvar presionando el botón de Save y se activara la pestaña de Credentials

3.5. Presionar la pestaña de Credentials y en el bloque de Client Secret, presionar el botón de copiar y guardar la credencial para su posterior uso.

Nota: Este cliente puede ser en cualquier momento posterior a la configuración del cliente.
4. Creación de Usuario en Keycloak
4.1. Acceder a la consola de Keycloak, y dar clic en la barra de navegación en la opción de Users.

4.2. Presionar el botón de Create new user.

4.3. Llenar el formulario con la siguiente información, y presionar el botón Create:
- Email verified: true
- Username: userdemo
- Email: userdemo@g6flow.com
- First name: Usuario
- Last name: Demostración

4.4. Una vez creado el usuario, presionar en la pestaña de Credentials, para proceder a crear el password del usuario

4.5. Introducir en el dialogo una contraseña y confirmarla. Ademas, apagar la opción de Temporary y presionar el botón de Save

4.6. Presionar el botón de Save password del dialogo de confirmación que aparece.

Y podremos ver que ya se encuentra configurada nuestra nueva credencia.
