Apereo CAS is the open-source Java server that implements the Central Authentication Service protocol and serves as an enterprise identity provider and single sign-on platform for the web, aimed at organizations that need one authentication and authorization layer across many applications.
What it is
Apereo CAS is an enterprise multilingual identity provider and single sign-on solution for the web, built as an open-source Java server component and distributed as the primary implementation of the CAS protocol. It positions itself as a comprehensive platform for authentication and authorization needs, and the same server speaks a broad set of additional protocols beyond CAS itself, including SAML2, OAuth v2, OpenID Connect, and WS-Federation Passive Requester.
The concrete problem it solves is the fragmentation of credentials and sessions across an application estate. Instead of every application maintaining its own login, the CAS server centralizes authentication, then issues the assertions and tokens applications consume. Where a commercial identity product would otherwise sit in that position, CAS replaces it with an Apache-2.0-licensed server the operator runs, backed by a documentation set hosted at apereo.github.io/cas, a Slack channel, and project mailing lists for support.
Key capabilities
- Protocol support spans CAS v1, v2 and v3, SAML v1 and v2, OAuth v2, OpenID Connect, and the WS-Federation Passive Requester Protocol.
- Authentication backends include JAAS, LDAP, RDBMS, X.509, Radius, SPNEGO, JWT, Remote, Apache Cassandra, Trusted, BASIC, and MongoDB.
- Multifactor authentication is available through Duo Security, Simple MFA, YubiKey, RSA, Google Authenticator, and WebAuthn FIDO2.
- Authorization integrates with Heimdall, OpenFGA, OPA, ABAC, Time/Date, REST, and Internet2's Grouper.
- High-availability clustered deployments rely on Hazelcast, JPA, Memcached, Apache Ignite, MongoDB, Redis, or DynamoDb.
- Application registration can be backed by JSON, LDAP, YAML, Google Cloud, JPA, MongoDB, DynamoDb, or Redis.
- Delegated social authentication connects to external identity providers over WS-FED, SAML2, OpenID Connect, and OAuth, while administrative UIs manage logging, monitoring, statistics, configuration, and client registration.
Who uses it and how
- Organizations that need one credential per user across a portfolio of web applications deploy CAS as the central identity provider and let each application delegate login to it.
- Teams with existing directory infrastructure authenticate against LDAP, RDBMS, or MongoDB rather than migrating user records, since those backends are first-class authentication sources.
- Operations groups that must enforce a second factor configure Duo Security, YubiKey, WebAuthn FIDO2, or Google Authenticator as multifactor providers.
- Sites needing availability under load run clustered deployments backed by Hazelcast, Redis, Memcached, or Apache Ignite.
- Administrators who prefer delegated login configure CAS to trust an external WS-FED, SAML2, or OpenID Connect provider instead of holding credentials directly.
Getting started
The README recommends deploying CAS locally using the WAR Overlay method, with the artifact published in Maven Central as org.apereo.cas:cas-server-webapp. Cloning or downloading the codebase is only required if the intent is to contribute to the project itself.
How it compares
No list of paid products replaced by this project is provided in the facts, and no comparable similarly licensed tools are named either. On the evidence available, CAS stands alone in this registry as the recognized open-source implementation of the CAS protocol.
When to use it — and when not to
A self-hoster takes on a Java web application that must be wired to authentication backends, application registration stores, clustering infrastructure, and notification providers such as Twilio, Mailgun, SendGrid, or Amazon SES if those features are needed. The README points contributors and would-be developers at the full codebase, but deployers are steered toward the WAR Overlay, so teams without Java web operations experience should weigh that cost. Support flows through Slack and mailing lists rather than a vendor contract, so organizations requiring a commercial SLA should look elsewhere.
project readme (upstream, from github) — read inline
Central Authentication Service (CAS)

Introduction
Welcome to the home of the Central Authentication Service project, more commonly referred to as CAS. CAS is an
enterprise multilingual identity provider and single sign-on solution for the web and attempts to
be a comprehensive platform for your authentication and authorization needs.
CAS is an open and well-documented authentication protocol. The primary implementation of the protocol is an open-source Java server
component by the same name hosted here, with support for a plethora of additional authentication protocols and features such as SAML2, OpenID Connect, MFA,
and many more.
Contributions

If you have already identified an enhancement or a bug, it is STRONGLY recommended that you submit a pull request to address the case.
There is no need for special ceremony to create separate issues. The pull request IS the issue and it will be tracked and tagged as such.
Documentation
Additional resources are available as follows:
Getting Started

It is recommended to deploy CAS locally using the WAR Overlay method. Cloning or downloading the CAS codebase
is ONLY required if you wish to contribute to the development of the project.
We recommend that you review this page to get started with your CAS deployment.
Features
The following features are supported by the CAS project:
- CAS v1, v2 and v3 Protocols
- SAML v1 and v2 Protocols
- OAuth v2 Protocol
- OpenID Connect Protocol
- WS-Federation Passive Requester Protocol
- Authentication via JAAS, LDAP, RDBMS, X.509, Radius, SPNEGO, JWT, Remote, Apache Cassandra, Trusted, BASIC, MongoDB and more.
- Delegated (social) authentication to external identity providers such as WS-FED, SAML2, OpenID Connect, OAuth CAS and more.
- Authorization via Heimdall, OpenFGA, OPA, ABAC, Time/Date, REST, Internet2's Grouper and more.
- HA clustered deployments via Hazelcast, JPA, Memcached, Apache Ignite, MongoDB, Redis, DynamoDb, and more.
- Application registration backed by JSON, LDAP, YAML, Google Cloud, JPA, MongoDB, DynamoDb, Redis and more.
- Multifactor authentication via Duo Security, Simple MFA, YubiKey, RSA, Google Authenticator, WebAuthn FIDO2 and more.
- Administrative UIs to manage logging, monitoring, statistics, configuration, client registration and more.
- Email and SMS notification options via Twilio, Mailgun, SendGrid, Amazon SES and more.
- User attribute consent and management via LDAP, RDBMS, MongoDB, DynamoDb and more.
- Global and per-application user interface theme and branding.
- Password management and password policy enforcement.
- Integration options with Apache Syncope, SCIM, Swagger, Shibboleth IdP, Keycloak, Okta, and more.
- Deployment options using Apache Tomcat and Jetty, packaged and running as Docker containers.
The foundations of CAS are built upon: Spring Boot and
Spring Cloud.
Development

Support
Apereo CAS is 100% free open source software managed by Apereo, licensed under Apache v2. Our
community has access to all releases of the CAS software with absolutely no costs. We welcome contributions from our community of all
types and sizes. The time and effort to develop and maintain this project is dedicated by a group
of volunteers and contributors.
If you (or your employer) benefit from this project, please consider becoming a Friend of Apereo and contribute.
Commercial support options may be found here.