oaeproject/Hilary — pull request #990 by stuartf (2014-08-22 13:00:51+00:00)
Title: Better support CAS attribute release

Currently our CAS logic uses `/serviceValidate` to validate an incoming ticket and get user attributes. There used to be a time where CAS deployers were manually changing a JSP file on their end which added in the attributes in the appropriate XML format. That is no longer being done however. [1]

With CAS protocol version 3 there are now 2 new ways of obtain user attributes.
* Via SAML 1.1 at the `/samlValidate` endpoint
* Via a CAS protocol version 3 endpoint called `/p3/serviceValidate`

We should look into ditching our custom build of cas-sfu and look at extending something like https://github.com/sadne/passport-cas as it that seems to support the new `/p3/serviceValidate` endpoint. It would be nice if we could add the `samlValidate` endpoint and contribute it back. We will probably have to add a configuration option where we can select what type (cas2, saml, cas3) of CAS version the tenant wishes to use.

[1] That said, one of our tenants (AAR) is doing exactly this. Their `/serviceValidate` endpoint releases the following:
```

susantest50

Jasig
49033
susansnider@gmail.com
1372256560
en-gb
authenticated user
expired user
Susan
Snider Test 50
47503

123 Street

Atlanta
New York
10001
United States

```