¿Qué es Keycloak?

by Feb 13, 2024#DigitalTransformation, #HomePage

Printer Icon
f

Keycloak es un conjunto de herramientas de identidad y acceso (IAM) patrocinadas por Red Hat desarrolladas en Java utilizando el framework de Spring, que se encargan de administrar la identidad e inicio de sesión de usuarios mediante el uso de protocolos de verificación de identidad tales como: Open ID Connect, OAuth2, SAML v2, etc.

La intención detrás de su creación es proteger cualquier tipo de aplicación sin necesidad de implementar un sistema de autentificaron propio con todas las implicaciones de este (Seguridad, bases de datos, etc).

Entre sus principales ventajas encontramos que se trata de una herramienta completa que permite a las empresas y desarrolladores centrarse en la programación de funcionalidades propias de la aplicación no teniendo que preocuparse por crear un sistema robusto de autentificaron de usuarios puesto que Keycloak se encarga de cubrir esta necesidad incluso de sobra, pues también soporta la integración de autentificaron de dos factores (OTP), por otro lado, también es posible unificar todos los métodos de autentificaron de una aplicación, generando de esta forma un inicio de sesión único (SSO) general para todas las funcionalidades de esta.

La API de Keycloak

Keycloak también cuenta con una REST-API (Keycloak API), la cual permite a los desarrolladores de la aplicación realizar peticiones con el fin de gestionar distintos parámetros de la aplicación, como lo pueden ser: El manejo de clientes, reinos, grupos, roles, etc. La gestión, creación y eliminación de usuarios, obtención de tokens de acceso para la aplicación, detección de ataques, entre otros.

Si bien esta API nos permite interactúar con Keycloak como se haría normalmente desde la interfaz gráfica, es verdad que su diseño presenta varias redundancias, por ejemplo, es algo normal pensar que, cuando se ejecuta la acción de crear un usuario, su contraseña venga implícita en esta misma, situación que no sucede en la API, y tenga que ser necesaria una segunda llamada para establecer una nueva contraseña, por otro lado, a la hora de modificar los roles y atributos de un usuario, es necesario hacer una llamada a la API para los roles y otra para los atributos a pesar que en la documentación de Keycloak para ambos endpoints se menciona que se debe de pasar un JSON de tipo usuario, y que en el tipo “usuario” vienen los campos de atributos y roles.

Keycloak-Typescript

Keycloak-typescript es una librería de código abierto desarrollada con el fin de simplificar la interacción entre proyectos de Node.js con la API de Keycloak, enfocándose principalmente en crear una “fachada” que esconda todas las pequeñas acciones (Llamadas a la API) que son necesarias para llevar acabo una acción mas compleja bajo un solo método.

Keycloak-Typescript

Keycloak-Typescript nace de la necesidad de evitar escribir demasiado código para las multiples llamadas a la API que en ocasiones eran necesarias para el desarrollo de proyectos de Krasamo, su objetivo principal es facilitar la integración de proyectos de Node JS con la API de Keycloak proporcionando una “fachada” que cubre toda la lógica detrás de acciones como crear un usuario, modificarlo, modificar roles de un reino, etc. en métodos unificados.

Las ventajas de utilizar este paquete radican su facilidad de integración con proyectos de Node JS al no requerir de pasos complicados para su instalación mas que un simple comando que la descarga desde NPM, en sus métodos objetivos y unificados para una sencilla gestión de usuarios.

Contribuciones y Extensibilidad

Otra de las ventajas de Keycloak-Typescript, es que se trata de una herramienta de código libre bajo la licencia MIT, a la cual tu puedes contribuir y adaptar a tus necesidades con tus ideas, reportes de errores/bugs, creación de documentación, etc. Mediante su repositorio: https://github.com/krasamo/keycloak-typescript, utilizando Typescript y todas las ventajas que este trae consigo (Como el tapado estático).

About Us: Krasamo is a mobile-first digital services and consulting company focused on the Internet-of-Things and Digital Transformation.

Click here to learn more about our digital transformation services.

RELATED BLOG POSTS

Bluetooth Location Tracking: Business Benefits and Implementation.

Bluetooth Location Tracking: Business Benefits and Implementation.

Bluetooth location tracking enables businesses to track assets and people, improve business processes, and create new products and services. Krasamo offers implementation services for real-time location systems (RTLS) using Bluetooth technology, which can provide highly accurate positioning data. With the ability to track assets and people in a facility, businesses can improve inventory management, indoor navigation, and more. Krasamo’s expertise in hardware, software, and firmware design allows for the development of location platforms and services for various IoT applications, including home automation, industrial use cases, and supply chain management. Bluetooth’s market penetration, global radio channels, and cost-effectiveness make it a popular choice for location tracking.

DataOps: Cutting-Edge Analytics for AI Solutions

DataOps: Cutting-Edge Analytics for AI Solutions

DataOps is an essential practice for organizations that seek to implement AI solutions and create competitive advantages. It involves communication, integration, and automation of data operations processes to deliver high-quality data analytics for decision-making and market insights. The pipeline process, version control of source code, environment isolation, replicable procedures, and data testing are critical components of DataOps. Using the right tools and methodologies, such as Apache Airflow Orchestration, GIT, Jenkins, and programmable platforms like Google Cloud Big Query and AWS, businesses can streamline data engineering tasks and create value from their data. Krasamo’s DataOps team can help operationalize data for your organization.

SRE Teams for Running Operations and Systems Effectively 

SRE Teams for Running Operations and Systems Effectively 

Site Reliability Engineering (SRE) is a discipline that has transformed the way we manage IT operations and systems. By combining software engineering and computer science principles, SRE teams automate operations and improve system reliability. They work closely with development teams to promote collaboration, share responsibilities, and eliminate silos. With a focus on reducing manual work and minimizing toil, SREs aim to create systems that can run by themselves, allowing for scalability and growth without the need for additional personnel. By adopting SRE principles, organizations can streamline their IT services, increase efficiency, and deliver a more reliable user experience.

Fitness App Development Overview and Features

Fitness App Development Overview and Features

Fitness apps are becoming increasingly popular among consumers seeking personalized workout experiences. With the ability to offer features such as live coaching, AR/VR, and data analysis, fitness apps have the potential to revolutionize the fitness industry. By integrating with other apps and platforms such as Google Fit and Apple Health, fitness apps can provide users with a seamless experience that tracks all their fitness activities in one place. As the market continues to grow, developing a fitness app with innovative functionalities and the ability to connect with users and other platforms will be crucial for success.