Buscando artículos sobre "Docker"
13-junio-2023
admin

Utilización de Keycloak para Single Sign-On (SSO)

Single Sign-On se trata de un inicio de sesión unificado. Consiste en un procedimiento de autenticación que habilita a un usuario concreto acceso a distintos sistemas con una sola instancia de identificación.

Una herramienta sencilla que podemos utilizar para configurarnos un SSO que poder utilizar en nuestras aplicaciones se trata de Keycloak.

Ejemplo de uso:
Paso 1 – Ponemos iniciar keycloak mediante su imagen Docker mediante el siguiente comando:

 
 docker run -p 8081:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=password jboss/keycloak
-Dkeycloak.profile.feature.docker=enabled -b 0.0.0.0

Una vez iniciado podemos acceder a la aplicación mediante la url:
http://localhost:8081/auth/admin/master/console/

Paso 2 – Vamos a configurar un usuario y un cliente para poder probar el acceso:

Paso 2.1 – Crear Realm

Creación de un Realm
Crear Realm en keycloak

Pantalla de edición de un Realm
Crear Realm en keycloak

Paso 2.2 – Crear Client (es la aplicación que se va a conectar)

Creación de un cliente
Crear Cliente en keycloak

Crear Cliente en keycloak

Pantalla de edición de un cliente
Crear Cliente en keycloak

Paso 2.3 – Crear User y Rol (Se trata del usuario que se va a conectar y un rol que va a tener asignado)

Creación de un rol
Crear Rol en keycloak

Crear Rol en keycloak

Creación de un usuario
Crear User en keycloak

Crear User en keycloak

Crear User en keycloak

Crear User en keycloak

Pantalla de asignación del rol al usuario creado
Asignar Rol al User en keycloak

Paso 3 – Prueba obtención token.

 
curl --example --request POST 'http://localhost:8081/auth/realms/disastercode/protocol/openid-connect/token' 
--header 'Content-Type: application/x-www-form-urlencoded' 
--data-urlencode 'grant_type=password' 
--data-urlencode 'client_id=appClient' 
--data-urlencode 'client_secret=7YXN4WL8n3d0LUYejWGJWpG3xyJPUaPE' 
--data-urlencode 'username=admin' 
--data-urlencode 'password=admin'

Petición con postman
Prueba Postman

30-mayo-2023
admin

Obtener la IP de un contenedor de Docker

La forma más rápida de saber la ip asignada a un contenedor de docker es utilizar el comando docker inspect. Un ejemplo sería el siguiente:

11-septiembre-2019
admin

Docker Error: Could not read CA certificate…

En windows utilizando docker-machine, cuando se construye un contenedor con el comando docker puede darnos el error siguiente:

docker build -t web .
Could not read CA certificate "C:\\Users\\admin\\.docker\\machine\\machines\\default\\ca.pem": 
open C:\Users\admin\.docker\machine\machines\default\ca.pem: 
The system cannot find the file specified.

La solución es muy simple:
Regenerar los certificados ejecutando los siguientes comandos.

docker-machine regenerate-certs default
docker-machine restart default

Categorias

Linkedin