This module implements a simple authentication method selection flow for Shibboleth Identity Provider v3. The module can be used for first displaying all the available authentication flows and then proceeding with the user-selected authentication flow.
- Java 7+
- Apache Maven 3
mvn package
After successful compilation, the target directory contains shibboleth-idp-authn-discovery-.zip.
After compilation, the module's JAR files must be deployed to the IdP Web application. Also, the module's authentication flow, its bean definitions and view (user interface) must be deployed to the IdP. Depending on the IdP installation, the module deployment may be achieved for instance with the following sequence:
unzip target/shibboleth-idp-authn-discovery-<version>.zip
cp shibboleth-idp-authn-discovery-<version>/edit-webapp/WEB-INF/lib/* /opt/shibboleth-idp/edit-webapp/WEB-INF/lib
cp -r shibboleth-idp-authn-discovery-<version>/flows/* /opt/shibboleth-idp/flows
cp shibboleth-idp-authn-discovery-<version>/views/* /opt/shibboleth-idp/conf/views
cd /opt/shibboleth-idp
sh bin/build.sh
The final command will rebuild the war-package for the IdP application.
Finally, you will need to add the new authentication flow definition to /opt/shibboleth-idp/conf/authn/general-authn.xml as the first authentication bean definition:
<bean id="authn/Disco" parent="shibboleth.AuthenticationFlow"
p:nonBrowserSupported="false" p:forcedAuthenticationSupported="true"/>