From 9cc100fced698f3d1261672811dadc00fe4588c7 Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Tue, 11 Jun 2024 15:48:16 -0400 Subject: [PATCH] 5.1.2 release --- ...re-4.0.3.jar => cas-client-core-4.0.4.jar} | Bin 161533 -> 164534 bytes ...0.jar => shib-cas-authenticator-5.1.2.jar} | Bin 22293 -> 22293 bytes README.md | 71 +++++------------- gradle.properties | 2 +- 4 files changed, 21 insertions(+), 52 deletions(-) rename IDP_HOME/edit-webapp/lib/{cas-client-core-4.0.3.jar => cas-client-core-4.0.4.jar} (84%) rename IDP_HOME/edit-webapp/lib/{shib-cas-authenticator-5.0.0.jar => shib-cas-authenticator-5.1.2.jar} (88%) diff --git a/IDP_HOME/edit-webapp/lib/cas-client-core-4.0.3.jar b/IDP_HOME/edit-webapp/lib/cas-client-core-4.0.4.jar similarity index 84% rename from IDP_HOME/edit-webapp/lib/cas-client-core-4.0.3.jar rename to IDP_HOME/edit-webapp/lib/cas-client-core-4.0.4.jar index aee654c7133b68440106fe0d53b34615716f32cc..601e65cc8330a6dd9289837ce22f9060f6301075 100644 GIT binary patch delta 11743 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 delta 8854 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 diff --git a/IDP_HOME/edit-webapp/lib/shib-cas-authenticator-5.0.0.jar b/IDP_HOME/edit-webapp/lib/shib-cas-authenticator-5.1.2.jar similarity index 88% rename from IDP_HOME/edit-webapp/lib/shib-cas-authenticator-5.0.0.jar rename to IDP_HOME/edit-webapp/lib/shib-cas-authenticator-5.1.2.jar index b9e7450e21a57830748a8d18469d0708eff2793e..e09e04fde3714f0db60b0234c4fa6a8470faba5a 100644 GIT binary patch delta 567 zcmbQbj&bTbM&1B#W)?061`ZB}t+l5o@~Sa|C^IiG)vO4nmTQ2iOFAHGG9#lUh~6Ba z;Km4MOl0}Q1ZK=s6p#WlY#9TY!HhQc#XMk!j))?dF?o%(5lCS2Lu+d=EpOupR&c{@ zFNY+OOCtVBXvfWBWMBwjW?;yhTxesv`LD|jh=nuk#aY3c8tg*nsK)yQOEcxMP8ML4o7^6(0ycpcsJc-esM>RKaiE9-(3cV4UG7Y_H!M5xC4dMCZ7-00=p}& vY+B)dpmW%O0c?$M7Q>RpI3KXWv`}TRrTrn&Ol7`6A)CqTY;-374-*3bPAkjd delta 551 zcmbQbj&bTbM&1B#W)?061`ZAe3AUpXdDWOfl$jTpYE}eO%Qe8%B^?konUT>FL~rhs z4`c>2+L%5ufflNb4$fQ`H9Zx5!W1N6bPZ-5z? zZVRvi(}x4xA>u*OlQjaBC-0Ltn7lg(?AXZ#fznJZER#Pfxlg{s#4-6!AVm07kTg>z zJ5bnn^88>P1)wJ)VvglpKFQ6%&??2iV9S62OB&@xfC}X%*9Gf>t>Fb4>8t=0Qk5svlVA?jsA52$;Nl#uCqCNRQnB(N!FfOo| zV3;&hvEAeZceTk2e8eYbhe1qU7%I)wZ4VT70SSQ}`%gkUZWbd0LjW@aLmtAd3`-i9 cx`6d3xO&0$_lHO`opu8Y&#+OM{69<#0H`CNw*UYD diff --git a/README.md b/README.md index 60013d2..a00b37d 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@ -## NOTE Documentation and release artifacts are being worked on. As such documenatation and/or artifacts may not match, we thank you for your patience! - ## A Shibboleth IdP v5.X plugin for delegating authentication to an external SSO Server using the CAS protocol -This is a Shibboleth IdP external authentication plugin that delegates primary authentication to an external -Single Sign On Server using the Central Authentication Server protocol. The biggest advantage of using this component over the plain -`REMOTE_USER` header solution provided by Shibboleth is the ability to utilize a full range -of native CAS protocol features such as `renew` and `gateway`, plus the ability to share with CAS the +This is a Shibboleth IdP external authentication plugin that delegates primary authentication to an external +Single Sign On Server using the Central Authentication Server protocol. The biggest advantage of using this component over the plain +`REMOTE_USER` header solution provided by Shibboleth is the ability to utilize a full range +of native CAS protocol features such as `renew` and `gateway`, plus the ability to share with CAS the EntityID of the relying application. The plugin takes advantage of and extends the Shibboleth IdP's external authentication flow, and consists of a number of JAR artifacts that bridge the gap between Shibboleth and CAS. @@ -14,15 +12,13 @@ The plugin takes advantage of and extends the Shibboleth IdP's external authenti Maintenance Status ------------------------------------------------------------- -Maintenance of this project is sponsored by Unicon's [Open Source Support program](https://unicon.net/support). Professional support/integration assistance for this module is available. For more information, visit . - -Also, please do note that the Shibboleth IdP v3x+ has support for the CAS protocol and Apereo CAS server v5+ also has support for the SAML2 protocol. Unless justified otherwise, a better approach long-term would be to consolidate down to one platform removing the need to deploy and configure this plugin. +Please note that Unicon will no longer be upgrading nor maintaining this plugin any longer. That decision is based on best practices concerning the modern Shibboleth and CAS Server software packages. The Shibboleth IdP and the CAS Server support the same SSO protocols, and the best strategy is to decide which of those two SSO packages best meets your needs and only keep that one, migrating all services to it. If,for whatever reason, both SSO solutions are still required, the recommended approach is to use SAML (authentication) delegation to achieve the same results that this plugin provides now. Software Requirements ------------------------------------------------------------- -This minimum supported version of Shibboleth Identity Provider is `5.1.0`. +This minimum supported version of Shibboleth Identity Provider is `5.1.2`. See [releases](https://github.com/Unicon/shib-cas-authn/releases) to find the the appropriate version. @@ -63,35 +59,20 @@ Example snippet `web.xml`: ... ``` -#### Update the IdP's global.xml file - -In the `IDP_HOME/conf/global.xml` file, ensure the context path points to `Authn/External` as shown below. - -```xml - - -``` - - - #### Update the IdP's authn.properties file 1. Set the `idp.authn.flows` to `External` in `IDP_HOME/conf/authn/authn.properties`. Or, for advance cases, add `External` to the list if you have others. 1. Add new properties for the ShibCas plugin. -```properties +```properties ... -# Regular expression matching login flows to enable, e.g. IPAddress|Password -#idp.authn.flows = Password idp.authn.flows = External -# CAS Client properties (usage loosely matches that of the Java CAS Client) -## CAS Server Properties +dp.authn.External.externalAuthnPath = contextRelative:Authn/External + shibcas.casServerUrlPrefix = https://cassserver.example.edu/cas shibcas.casServerLoginUrl = ${shibcas.casServerUrlPrefix}/login -## Shibboleth Server Properties shibcas.serverName = https://shibserver.example.edu # By default you always get the AuthenticatedNameTranslator, add additional code to cover your custom needs. @@ -106,17 +87,15 @@ shibcas.serverName = https://shibserver.example.edu # Specify if the Relying Party/Service Provider entityId should be appended as a separate entityId query string parameter # or embedded in the "service" querystring parameter - `append` (default) or `embed` # shibcas.entityIdLocation = append -... + idp.authn.Password.passiveAuthenticationSupported = true idp.authn.Password.forcedAuthenticationSupported = true -... idp.authn.External.nonBrowserSupported = false ... ``` - #### Rebuild the war file From the `IDP_HOME/bin` directory, run `./build.sh` or `build.bat` to rebuild the `idp.war`. Redeploy if necessary. @@ -124,18 +103,18 @@ From the `IDP_HOME/bin` directory, run `./build.sh` or `build.bat` to rebuild th #### OPTIONAL EntityId / CAS Service Passing By setting `shibcas.entityIdLocation=embed`, shib-cas-authn will embed the entityId in the service string so that CAS Server -can use the entityId when evaluating a service registry entry match. Using serviceIds of something like: +can use the entityId when evaluating a service registry entry match. Using serviceIds of something like: `https://shibserver.example.edu/idp/Authn/ExtCas\?conversation=[a-z0-9]*&entityId=http://testsp.school.edu/sp` or `https://shibserver.example.edu/idp/Authn/ExtCas\?conversation=[a-z0-9]*&entityId=http://test.unicon.net/sp` -will match as two different entries in the service registry which will allow as CAS admin to enable MFA or use access strategies on an SP by SP basis. +will match as two different entries in the service registry which will allow as CAS admin to enable MFA or use access strategies on an SP by SP basis. OPTIONAL Handling REFEDS MFA Profile --------------------------------------------------------------- The plugin has native support for [REFEDS MFA profile](https://refeds.org/profile/mfa). The requested authentication context class that is `https://refeds.org/profile/mfa` -is passed along from the Shibboleth IdP over to this plugin and is then translated to a multifactor authentication strategy supported by and configured CAS (i.e. Duo Security). +is passed along from the Shibboleth IdP over to this plugin and is then translated to a multifactor authentication strategy supported by and configured CAS (i.e. Duo Security). The CAS server is notified of the required authentication method via a special `authn_method` parameter by default. Once a service ticket is issued and plugin begins to validate the service ticket, it will attempt to ensure that the CAS-produced validation payload contains and can successfully assert the required/requested authentication context class. @@ -154,22 +133,12 @@ shibcas.casToShibTranslators = net.unicon.idp.externalauth.CasDuoSecurityRefedsA shibcas.parameterBuilders = net.unicon.idp.authn.provider.extra.CasMultifactorRefedsToDuoSecurityAuthnMethodParameterBuilder ``` -Finally add the authn context refs in the supported principals property list to `authn/External` in `general-authn.xml` as shown below. +Finally add the authn context refs in the supported principals property list to in `IDP_HOME/conf/authn/authn.properties` as shown below. -```xml - - - - - - - - +```properties +idp.authn.External.supportedPrincipals = \ + saml2/urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport, \ + saml2/https://refeds.org/profile/mfa ``` Release Notes @@ -180,11 +149,11 @@ Developer Notes ------------------------------------------------------------- The project distributables can be built using `./gradlew clean build`. The artifacts will be in `build/distributions`. -This project includes a Docker environment to assist with development/testing. +This project includes a Docker environment to assist with development/testing. To build and execute: `./gradlew clean; ./gradlew up` Then browse to: `https://idptestbed/idp/profile/SAML2/Unsolicited/SSO?providerId=https://sp.idptestbed/shibboleth` -> You'll need a `hosts` file entry that points `idptestbed` to your Docker server's IP address. +> You'll need a `hosts` file entry that points `idptestbed` to your Docker server's IP address. The IdP only has a session of 1 minute (to test expired session/conversation key issues), so login into CAS Server quickly. diff --git a/gradle.properties b/gradle.properties index ec5124e..e214361 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=5.0.0 +version=5.1.2 casClientVersion=4.0.3 commonLangVersion=3.11