Aplicación de la seguridad web
Durante este escenario, usaremos el adaptador de seguridad de la pila de Devprime para habilitar la configuración de seguridad de modo que, cuando haya una solicitud de acceso, se requiera la autenticación del usuario de forma centralizada de Keycloak.
Lista de verificación y preparación del entorno inicial:
- Abra una cuenta en Devprime Platform y compre una licencia Developer/Enterprise).
- Instalar una versión actualizada de .NET (Linux, macOS y Windows)
- Instalar y/o actualizar Visual Studio Code y/o Visual Studio 2023 Community / Professional / Enterprise.
- Instale y/o actualice docker (para Windows, use WSL2).
- Inicialice los contenedores MongoDB y RabbitMQ en docker y agregue la cola ‘orderevents’ en RabbitMQ.
- Instale y active la última versión de la Devprime CLI.
- Crea una carpeta para tus proyectos y establece permisos de lectura y escritura.
- Véase el artículo “Creación del primer microservicio” para explorar cómo empezar a trabajar con la plataforma Devprime.
- Crea una cuenta de anfitrión en Auth0.com.
Creación de un microservicio para usar en el ejemplo
El primer paso es crear un nuevo microservicio que podamos usar como plantilla para publicar en el host. El nombre de este microservicio se establecerá en “ms-order”, como se muestra en el siguiente comando.
- Creación del primer microservicio
dp new ms-order --stream rabbitmq --state mongodb
- Agregar un ejemplo de regla de negocio “Orden”
dp marketplace order
- Inicialización y aceleración de implementaciones de microservicios
dp init
Después de la creación del nuevo microservicio, ingrese a la carpeta del proyecto “ms-order” y podrá ver todas las implementaciones por Visual Studio Code, como se muestra en el artículo relacionado con creación del primer microservicio.
Una vez completado, puede ejecutar el microservicio. Luego termine.
.\run.ps1 ou ./run.sh (Linux, macOS)
Aplicación de la configuración de capa de teclas en el microservicio
La configuración de seguridad en la plataforma Devprime se aplica en el Adaptador de Seguridad que en el entorno local se encuentra en el archivo “src/App/appsettings.json” y en ese punto aplicaremos
los mismos datos obtenidos en el portal a Auth0.
Use los valores Domain, ClientId, ClientSecret obtenidos en la configuración en el portal
de Auth0. En este escenario, usaremos EnableOIDC.
Por Visual Studio Code:
code src/App/appsettings.json
|
|
Creación de una interfaz web para usar en el ejemplo
Adición de una plantilla web para su uso en la demostración. Esto creará algunas páginas web para que las usemos en la demostración.
dp add web login
Después de ejecutarlo, tendremos un nuevo endpoint llamado “/private” que ya cuenta con el atributo “Authorize” necesario para indicar que esa url requiere autenticación. El extracto del siguiente archivo “src/Adapters/Web/Pages/Account.cs” muestra este escenario
con las direcciones URL /private, /login y /logout.
Para verlo desde Visual Studio Code:
code src/Adapters/Web/Pages/Account.cs
|
|
Ejecute la aplicación y abra https://localhost:5001 para ver los nuevos vínculos agregados.
Próximos pasos:
- Introducción a Keycloak
- Aplicación de seguridad a las API
- Uso de curl para acceder a la API protegida
Ha protegido una aplicación web con Keycloak y un microservicio con la plataforma Devprime. Felicidades🚀🚀🚀
Última modificación April 11, 2024 (cc33f7e6)