cas Documentation

Apereo CAS - Identity & Single Sign On for all earthlings and beyond.

RAW Doc

1. Project Overview & Quickstart (apereo/cas)

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

Version Reference
Link
Link

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 [][devlocity] [][cascodecov]

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.

2. Official Technical Reference & Guides (apereo/apereo.github.io)

Apereo Community Blog

Formed in 2012, the Apereo Foundation is a vibrant and value-driven organization. Apereo has a noteworthy history celebrating two strong organizations, the Sakai Foundation and Jasig. Apereo is a community built around openness, inclusivity, collaboration and innovation. The mission of Apereo is to help educational organizations β€œcollaborate to foster, develop, and sustain open technologies and innovation to support learning, teaching, and research.”

Apereo projects are 100% open.

This is a blog managed and edited by the Apereo project participants and community members. It is typically used to post project updates, announce news, etc. Unless otherwise noted, all authors post here wearing their individual Apereo participant hats. Opinions, statements, and comments expressed via this blog do not necessarily reflect those of the Apereo Foundation.

Building and running locally

This blog is built and hosted in GitHub Pages, which is a SaaS implementation of Jekyll.

You can locally run Jekyll to build the site from source and even serve it up, e.g. to preview your in-development changes.

Note: Tested with bundler 1.16.1

  1. Clone the repo
  2. Run [sudo] bundle install
  3. Run bundle exec jekyll serve --incremental
  4. Should something similar to:
text
Configuration file: /apereo.github.io/_config.yml
            Source: /apereo.github.io
       Destination: /apereo.github.io/_site
 Incremental build: enabled
      Generating...
                    done in 3.294 seconds.
 Auto-regeneration: enabled for 'apereo.github.io'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

If you get any errors, try running gem install bundler and then re-run the bundle install command.

You can also run bundle check to see if there are any problems with the dependencies.