El Servicio de autenticación central ( CAS ) es un protocolo de inicio de sesión único para la web . [1] Su propósito es permitir que un usuario acceda a múltiples aplicaciones mientras proporciona sus credenciales (como ID de usuario y contraseña) solo una vez. También permite que las aplicaciones web autentiquen a los usuarios sin tener acceso a las credenciales de seguridad de un usuario, como una contraseña. El nombre CAS también se refiere a un paquete de software que implementa este protocolo.
Descripción
El protocolo CAS involucra al menos a tres partes: un navegador web del cliente , la aplicación web que solicita autenticación y el servidor CAS . También puede involucrar un servicio de back-end , como un servidor de base de datos, que no tiene su propia interfaz HTTP pero se comunica con una aplicación web.
Cuando el cliente visita una aplicación que requiere autenticación, la aplicación la redirige a CAS. CAS valida la autenticidad del cliente, generalmente al comparar un nombre de usuario y una contraseña con una base de datos (como Kerberos , LDAP o Active Directory ).
Si la autenticación tiene éxito, CAS devuelve al cliente a la aplicación y le pasa un ticket de servicio . Luego, la aplicación valida el boleto contactando a CAS a través de una conexión segura y proporcionando su propio identificador de servicio y el boleto. Luego, CAS proporciona a la aplicación información confiable sobre si un usuario en particular se ha autenticado correctamente.
CAS permite la autenticación de varios niveles a través de una dirección proxy . Un servicio back-end colaborador , como una base de datos o un servidor de correo, puede participar en CAS, validando la autenticidad de los usuarios a través de la información que recibe de las aplicaciones web. Por lo tanto, un cliente de correo web y un servidor de correo web pueden implementar CAS.
Historia
CAS fue concebido y desarrollado por Shawn Bayern de Tecnología y Planificación de la Universidad de Yale . Más tarde fue mantenido por Drew Mazurek en Yale. CAS 1.0 implementó el inicio de sesión único. CAS 2.0 introdujo la autenticación de proxy de varios niveles. Se han desarrollado varias otras distribuciones CAS con nuevas características.
En diciembre de 2004, CAS se convirtió en un proyecto del Grupo de Interés Especial de Java en Administración (JASIG) , que desde 2008 es responsable de su mantenimiento y desarrollo. Anteriormente llamado "Yale CAS", CAS ahora también se conoce como "Jasig CAS". En 2010, Jasig inició conversaciones con la Fundación Sakai para fusionar las dos organizaciones. Las dos organizaciones se consolidaron como Fundación Apereo en diciembre de 2012.
En diciembre de 2006, la Fundación Andrew W. Mellon otorgó a Yale su Primer Premio Anual Mellon a la Colaboración Tecnológica, por un monto de $ 50,000, para el desarrollo de CAS por parte de Yale. [2] En el momento de ese premio, CAS estaba en uso en "cientos de campus universitarios (entre otros beneficiarios)".
En abril de 2013, se publicó la especificación 3.0 del protocolo CAS. [3]
Implementación
Implementación de Apereo CAS
El servidor Apereo CAS que es la implementación de referencia del protocolo CAS hoy en día admite las siguientes características:
- Protocolo CAS v1, v2 y v3
- Protocolo SAML v1 y v2
- Protocolo OAuth
- Protocolo de conexión OpenID y OpenID
- Protocolo de solicitud pasiva de WS-Federation
- Autenticación a través de JAAS , LDAP , RDBMS, X.509 , Radius, SPNEGO , JWT , Remote, Trusted, BASIC, Apache Shiro , MongoDB , Pac4J y más.
- Autenticación delegada a WS-FED, Facebook, Twitter, SAML IdP, OpenID , OpenID Connect , CAS y más.
- Autorización a través de ABAC, hora / fecha, REST, Grouper de Internet2 y más.
- Implementaciones agrupadas de alta disponibilidad a través de Hazelcast , Ehcache , JPA, Memcached , Apache Ignite , MongoDB, Redis , Couchbase y más.
- Registro de aplicaciones respaldado por JSON , LDAP, YAML , JPA, Couchbase, MongoDB y más.
- Autenticación multifactor a través de Duo Security, SAASPASS, YubiKey , RSA, Google Authenticator ( TOTP ) y más.
- Interfaces de usuario administrativas para administrar el registro, el monitoreo, las estadísticas, la configuración, el registro de clientes y más.
- Tema y marca de la interfaz de usuario global y por aplicación.
- Gestión de contraseñas y aplicación de políticas de contraseñas.
Implementación de Django
Servidor Django CAS
- django-mama-cas: [4] Un servidor de inicio de sesión único de Django Central Authentication Service (CAS)
Cliente Django CAS
- django-cas-ng: [5] Biblioteca de autenticación de cliente Django CAS 1.0 / 2.0 / 3.0, compatible con Django 2.0, 2.1, 2.2, 3.0 y Python 3.5+.
Ver también
- Inicio de sesión único de CoSign
- JOSSO
- Lista de implementaciones de inicio de sesión único
- OpenAM
- OpenID
- Pubcookie
- SAML
- Productos y servicios basados en SAML
- Shibboleth (Consorcio Shibboleth)
Referencias
- ^ "Página de protocolo JASIG CAS" . Apereo / JASIG . Consultado el 24 de junio de 2016 .
- ^ Nota de prensa del Premio Mellon a la Colaboración Tecnológica (PDF) .
- ^ "Especificación del protocolo CAS 3.0" . Consultado el 6 de noviembre de 2020 .
- ^ "django-mama-cas" .
- ^ "django-cas-ng" .
enlaces externos
- Stanford WebAuth
- CookieAuth de la Universidad de Minnesota
- Proyecto Apereo CAS
- django-mama-cas
- django-cas-ng