As of version 3.3 of the Shibboleth identity provider, there is built in support for Duo Security Authentication (https://wiki.shibboleth.net/confluence/display/IDP30/DuoAuthnConfiguration). The Unicon developed module will not be supported in versions 3.3 and following. Features will be moved to the Shibboleth developed facility as appropriate.
DuoSecurity multifactor authentication plugin for the Shibboleth identity provider v3.
This project is made public here on Github as part of Unicon's Open Source Support program. Professional Support / Integration Assistance for this module is available. For more information visit.
- Allows the
http://www.duosecurity.com/authnContext
-
Obtain distribution either as a binary download or building from source
-
Binary Download
Download from https://bintray.com/uniconiam/generic/shibboleth-duo-auth/view
-
From Source
git clone https://github.com/Unicon/shib-mfa-duo-auth.git cd shib-mfa-duo-auth ./gradlew clean distZipThe distribution will be found at
build/distributions/shibboleth-duo-auth-{VERSION}.zip
-
-
unzip shibboleth-duo-auth*.zip -
copy the
edit-webapp,confandviewsdirectories from the distribution into${idp.home}; egcd shibboleth-duo-auth*; cp -R * ${idp.home} -
modify
${idp.home}/conf/duo.propertiesfor your Duo configuration -
modify
${idp.home}/conf/idp.properties. edit the following properties:-
idp.additionalProperties: add/conf/duo.properties:idp.additionalProperties= /conf/ldap.properties, /conf/saml-nameid.properties, /conf/services.properties, /conf/duo.properties -
idp.authn.flows: addDuo:idp.authn.flows= Password|Duo -
idp.authn.flows.initial: set up an initial authentication flow. For instance, password:idp.authn.flows.initial = Password
-
-
modify
${idp.home}/edit-webapp/WEB-INF/web.xmlIf you don't have this file, you can copy from
${idp.home}/webapp/WEB-INF/web.xml-
contextConfigLocation:<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/META-INF/shibboleth-idp/conf/global.xml,${idp.home}/system/conf/global-system.xml,classpath*:/META-INF/net.shibboleth.idp/config.xml</param-value> </context-param> -
idpservlet,contextConfigLocationinit-param<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/META-INF/shibboleth-idp/conf/webflow-config.xml,${idp.home}/system/conf/mvc-beans.xml,${idp.home}/system/conf/webflow-config.xml</param-value> </init-param>
-
-
rebuild the IdP war file
cd ${idp.home}/bin ./build.sh