pac4j = CAS/OAuth/OpenID client support

New CAS documentation site

CAS documentation has moved over to apereo.github.io/cas, starting with CAS version 4.x. The wiki will no longer be maintained. For the most recent version of the documentation, please refer to the aforementioned link.

What is pac4j ?

pac4j is an open source project : https://github.com/leleuj/pac4j.

It's a Profile & Authentication Client for Java. It targets all the protocols supporting the following mechanism :

  1. From the client application, redirect the user to the "provider" for authentication (HTTP 302)
  2. After successful authentication, redirect back the user from the "provider" to the client application (HTTP 302) and get the user credentials
  3. With these credentials, get the profile of the authenticated user (direct call from the client application to the "provider").

It has a very simple and unified API to support these 4 protocols on client side :

  1. OAuth (1.0 & 2.0)
  2. CAS (1.0, 2.0, SAML, logout & proxy)
  3. HTTP (form & basic auth authentications)
  4. OpenID.

It's available under the Apache 2 license.

If you have any question, please use the following mailing lists : https://groups.google.com/forum/?hl=en#!forum/pac4j-users or https://groups.google.com/forum/?hl=en#!forum/pac4j-dev.

What is cas-server-support-pac4j ?

Since CAS server 4.0, cas-server-support-pac4j is a new Maven module for the CAS server. It's based on the pac4j library and adds CAS/OpenID/OAuth client support to the CAS server : authentication can be delegated through a link on the login page to a CAS, OpenID or OAuth provider.

Before CAS server 4.0, the OAuth client support was in the cas-server-support-oauth module.

 

cas-server-support-pac4j module versionbased on pac4j versionNew features
4.01.4.0

Compared to the cas-server-support-oauth module (version 3.5.2) :

  • all profiles share a common set of attributes
  • all clients can be grouped using the Clients class
  • the CAS OAuth wrapper support is now native to pac4j
  • new protocols are supported : CAS and OpenID

 

Configuration for the CAS/OAuth/OpenID client support in CAS server version >= 4.0.0