Saltar al contenido principal

Visión general

En esta sección, te mostraremos cómo conectar tu aplicación a Casdoor.

Como Proveedor de Servicio (SP), Casdoor admite dos protocolos de autenticación:

  • OAuth 2.0 (OIDC)
  • SAML

Como Proveedor de Identidad (IdP), Casdoor admite cuatro protocolos de autenticación:

  • OAuth 2.0
  • OIDC
  • SAML
  • CAS 1.0, 2.0, 3.0

OAuth 2.0 (OIDC)

¿Qué es OAuth 2.0?

OAuth 2 es un marco de autorización que permite a aplicaciones, como Facebook, GitHub y Casdoor, obtener acceso limitado a cuentas de usuario en un servicio HTTP. Funciona delegando la autenticación del usuario al servicio que aloja una cuenta de usuario y autorizando a aplicaciones de terceros para acceder a esa cuenta de usuario. OAuth 2 proporciona flujos de autorización para aplicaciones web y de escritorio, así como para dispositivos móviles.

El proceso de autorización de Casdoor se basa en el protocolo OAuth 2.0. Recomendamos usar el protocolo OAuth 2.0 por las siguientes razones:

  1. El protocolo es simple y fácil de implementar, y puede resolver muchos escenarios.
  2. Tiene un alto nivel de madurez y amplio soporte comunitario.

Por lo tanto, tu aplicación se comunicará con Casdoor a través de OAuth 2.0 (OIDC). Hay tres maneras de conectarse a Casdoor:

Cliente OIDC estándar

Cliente OIDC estándar: Usa una implementación de cliente OIDC estándar, que se proporciona ampliamente en cualquier lenguaje de programación o marco.

¿Qué es OIDC?

OpenID Connect (OIDC) es un protocolo de autenticación abierto que funciona sobre el marco de OAuth 2.0. Dirigido a consumidores, OIDC permite a los individuos usar inicio de sesión único (SSO) para acceder a sitios de terceros confiables utilizando Proveedores de OpenID (OPs), como un proveedor de correo electrónico o una red social, para autenticar sus identidades. Proporciona a la aplicación o servicio información sobre el usuario, el contexto de su autenticación y acceso a su información de perfil.

Casdoor admite completamente el protocolo OIDC. Si tu aplicación ya está utilizando otro proveedor de identidad OAuth 2.0 (OIDC) a través de una biblioteca de cliente OIDC estándar, y quieres migrar a Casdoor, usar el descubrimiento OIDC hará que sea muy fácil cambiar a Casdoor.

SDKs de Casdoor

SDKs de Casdoor: Para la mayoría de los lenguajes de programación, Casdoor proporciona bibliotecas SDK fáciles de usar sobre OIDC, con funcionalidades extendidas que solo están disponibles en Casdoor.

En comparación con el protocolo OIDC estándar, el SDK de Casdoor proporciona más funcionalidades, como la gestión de usuarios y la subida de recursos, entre otros. Conectarse a Casdoor a través del SDK de Casdoor requiere más tiempo que usar una biblioteca de cliente OIDC estándar, pero ofrece la mejor flexibilidad y la API más potente.

Plugin de Casdoor

Plugin de Casdoor: Si tu aplicación está construida sobre una plataforma popular (como Spring Boot, WordPress, etc.) y Casdoor (o un tercero) ya ha proporcionado un plugin o middleware para ella, deberías usarlo. Usar un plugin es mucho más fácil que invocar manualmente el SDK de Casdoor porque el primero está especialmente hecho para la plataforma.

Plugins:

Middleware:

SAML

¿Qué es SAML?

El Lenguaje de Marcado para la Aserción de Seguridad (SAML) es un estándar abierto que permite a los proveedores de identidad (IdP) pasar credenciales de autorización a los proveedores de servicios (SP). Lo que significa este argot es que puedes usar un conjunto de credenciales para iniciar sesión en muchos sitios web diferentes. Es mucho más simple gestionar un inicio de sesión por usuario que gestionar inicios de sesión separados para el correo electrónico, software de gestión de relaciones con clientes (CRM), Active Directory, etc.

Las transacciones SAML utilizan el Lenguaje de Marcado Extensible (XML) para comunicaciones estandarizadas entre el proveedor de identidad y los proveedores de servicios. SAML es el enlace entre la autenticación de la identidad de un usuario y la autorización para usar un servicio.

Casdoor puede usarse como un IdP SAML. Actualmente, Casdoor admite las principales características de SAML 2.0. Para más detalles, ver SAML.

Ejemplo:

Casdoor como un IdP SAML en Keycloak

Sugerencias:

  1. El protocolo es potente y cubre muchos escenarios, lo que lo convierte en uno de los protocolos SSO más completos.
  2. El protocolo es extenso, con muchos parámetros opcionales, por lo que es difícil cubrir el 100% de los escenarios de aplicación en la implementación real.
  3. Si la aplicación es nueva, no se recomienda SAML debido a su alta complejidad técnica.

CAS

¿Qué es CAS?

El Servicio de Autenticación Central (CAS) es un protocolo de inicio de sesión único para la web. Su propósito es permitir que un usuario acceda a múltiples aplicaciones proporcionando sus credenciales (como ID de usuario y contraseña) solo una vez. También permite que las aplicaciones web autentiquen a los usuarios sin obtener acceso a las credenciales de seguridad del usuario, como una contraseña.

Casdoor ha implementado las características de CAS 1.0, 2.0 y 3.0. Para más detalles, ver CAS.

Sugerencias:

  1. El protocolo en sí es relativamente ligero y fácil de implementar, pero solo puede resolver un escenario único.
  2. La confianza mutua entre el Cliente CAS y el Servidor CAS se establece a través de la invocación de la interfaz sin ningún mecanismo de cifrado o firma para garantizar una mayor seguridad.
  3. El protocolo CAS no tiene ventajas sobre otros protocolos.

Tabla de integraciones

Algunas aplicaciones ya tienen ejemplos que se conectan a Casdoor. Puedes seguir la documentación para conectarte rápidamente a Casdoor. Puedes ver todas las aplicaciones en la Tabla de integraciones.