mirror of https://github.com/jacekkow/keycloak-protocol-cas

Matthias Piepkorn
2018-12-19 c140cef674a426fba60d2b5439591ad982edd0ad
README.md
@@ -1,27 +1,41 @@
# keycloak-protocol-cas
This plugin for Keycloak Identity and Access Management (http://www.keycloak.org) adds the CAS 3.0 SSO protocol as an available client protocol to the Keycloak system. It implements the required Service Provider Interfaces (SPIs) for a Login Protocol and will be picked up and made available by Keycloak automatically once installed.
[![Build Status](https://travis-ci.org/Doccrazy/keycloak-protocol-cas.svg?branch=master)](https://travis-ci.org/Doccrazy/keycloak-protocol-cas)
## Features
The following CAS features are currently implemented:
* CAS 1.0/2.0/3.0 compliant Login/Logout and Service Ticket Validation
* Single Logout (SLO)
* Filtering of provided `service` against configured redirect URIs
* JSON and XML response types
* Mapping of custom user attributes to CAS assertion attributes
The following features are **curently missing**:
* Proxy ticket service and proxy ticket validation [CAS 2.0]
The following features are **currently missing**:
* [#1](/../../issues/1): SAML request/response [CAS 3.0 - optional]
* [#2](/../../issues/2): Proxy ticket service and proxy ticket validation [CAS 2.0]
The following features are out of scope:
* Long-Term Tickets - Remember-Me [CAS 3.0 - optional]
* SAML request/response [CAS 3.0 - optional]
## Compatibility
The CAS plugin has been tested against the following Keycloak versions. Please ensure your version is compatible before deploying.
Please report test results with other versions!
* For Keycloak **2.5.x, 3.0.x and 3.1.x** please use plugin version **1.0.0**
* For Keycloak **3.2.x, 3.3.x and 3.4.0** please use plugin version **2.1.0**
* Starting from Keycloak **3.4.3**, the plugin version should **match your Keycloak version**
## Installation
1. Clone or download this repository (pre-compiled releases will follow!)
2. Run `mvn package` to build the plugin JAR
3. Copy the JAR file generated in the `target` folder into the `providers` directory in your Keycloak server's root
4. Restart Keycloak
Installation of a compatible plugin version is simple and can be done without a Keycloak server restart.
1. Download the latest release compatible with your Keycloak version from the [releases page](https://github.com/Doccrazy/keycloak-protocol-cas/releases)
2. Copy the JAR file into the `standalone/deployments` directory in your Keycloak server's root
3. Restart Keycloak (optional, hot deployment should work)
## Configuration
To use the new protocol, you have to create a client within Keycloak as usual.  
**Important: Due to [KEYCLOAK-4270](https://issues.jboss.org/browse/KEYCLOAK-4270), you have to select the `openid-connect` protocol when creating the client and change it after saving.**
**Important: Due to [KEYCLOAK-4270](https://issues.jboss.org/browse/KEYCLOAK-4270), you may have to select the `openid-connect` protocol when creating the client and change it after saving. This has been fixed in Keycloak 3.0.0.**
As the CAS protocol does not transmit a client ID, the client will be identified by the redirect URIs (mapped to CAS service). No further configuration is necessary.
Enter `https://your.keycloak.host/auth/realms/master/protocol/cas` as the CAS URL into your SP.