<div dir="ltr">Brad, <div>We did the following for Banner 9 services.</div><div><br></div><div>We created this entry in relying party. Then all we do is add the CAS services we want to use MFA in cas-protocol.xml to the mfa-services p:group="mfa-services"</div><div><br></div><div><div> <bean parent="RelyingPartyByGroup" c:groupNames="mfa-services"></div><div> <property name="profileConfigurations"></div><div> <list></div><div> <bean parent="CAS.LoginConfiguration"></div><div> <property name="defaultAuthenticationMethods"></div><div> <list></div><div> <bean parent="shibboleth.SAML2AuthnContextClassRef"</div><div> c:classRef="<a href="http://id.incommon.org/assurance/mfa">http://id.incommon.org/assurance/mfa</a>" /></div><div> <!--<bean parent="shibboleth.SAML2AuthnContextClassRef"</div><div> c:classRef="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" />--></div><div> </list></div><div> </property></div><div> </bean></div><div> <bean parent="CAS.ProxyConfiguration" /></div><div> <bean parent="CAS.ValidateConfiguration" /></div><div> </list></div><div> </property></div><div> </bean></div></div><div><br></div><div>Then in cas-protocol.xml we did this</div><div><br></div><div><div><!-- Banner Application Navigator --></div><div> <bean class="net.shibboleth.idp.cas.service.ServiceDefinition"</div><div> c:regex="https://somebox.name.edu:8443(/.*)?"</div><div> p:group="mfa-services"</div><div> p:authorizedToProxy="true"</div><div> p:singleLogoutParticipant="true" /></div></div><div><br></div><div>All our other CAS services are just "authn/Password", but if we add them to this p:group it uses authn/DUO after authn/Password.</div><div>One nice feature is since the cas file reloads every 15 minutes, we don't have to restart service to add a new MFA service.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 5, 2018 at 1:57 PM, Mathis, Bradley <span dir="ltr"><<a href="mailto:bmathis@pima.edu" target="_blank">bmathis@pima.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Howdy all,</div><div><div><br></div><div>I'm successfully using mfa logic to send specific users to Duo Authentication, thanks to the samples/documentation/wiki and postings from users here on <a href="mailto:users@shibboleth.net" target="_blank">users@shibboleth.net</a> </div><div>I'm now adding another piece of mfa logic to the mfa-authn-config.xml checksecondfactore inline script.</div><div><br></div><div>Prior to checking for specific user attributes I'm now first checking the RelyingPartyId to see if Duo is needed. I'm able to do this successfully after stealing some example logic that Andrew Morgan posted ..Thanks Andrew!</div><div><br></div><div><br></div><div>This is an excerpt from my mfa-authn-config.xml</div><div><br></div><div> rpid = profileContext.getSubcontext("<wbr>net.shibboleth.idp.profile.<wbr>context.RelyingPartyContext").<wbr>getRelyingPartyId();</div><div> if (rpid.equals("<a href="https://banner-temp.pima.edu/applicationNavigator/j_spring_cas_security_check" target="_blank">https://banner-<wbr>temp.pima.edu/<wbr>applicationNavigator/j_spring_<wbr>cas_security_check</a>")) {</div><div> nextFlow = "authn/Duo";</div><div> }</div><div><br></div><div><br></div><div>The above works if I add an if statement for every RelyingPartyId separately. I was hoping I might be able to use a regular expression and do a pattern match or something like that (my terminology is probably wrong). I'm not a programmer.</div><div><br></div><div><br></div><div>e.g. </div><div><br></div><div>Let's say I have multiple RelyingPartyIds like this</div><div><br></div><div><span class="m_-1166827192006428108gmail-Apple-tab-span" style="white-space:pre-wrap"> </span><a href="https://banner-temp.pima.edu/applicationNavigator/j_spring_cas_security_check" target="_blank">https://banner-temp.pima.edu/<wbr>applicationNavigator/j_spring_<wbr>cas_security_check</a></div><div><span class="m_-1166827192006428108gmail-Apple-tab-span" style="white-space:pre-wrap"> </span><a href="https://banner-dev.pima.edu/applicationNavigator/j_spring_cas_security_check" target="_blank">https://banner-dev.pima.edu/<wbr>applicationNavigator/j_spring_<wbr>cas_security_check</a></div><div><span class="m_-1166827192006428108gmail-Apple-tab-span" style="white-space:pre-wrap"> </span><a href="https://banner-test.pima.edu/applicationNavigator/j_spring_cas_security_check" target="_blank">https://banner-test.pima.edu/<wbr>applicationNavigator/j_spring_<wbr>cas_security_check</a></div><div><span class="m_-1166827192006428108gmail-Apple-tab-span" style="white-space:pre-wrap"> </span><a href="https://banner-prod.pima.edu/applicationNavigator/j_spring_cas_security_check" target="_blank">https://banner-prod.pima.edu/<wbr>applicationNavigator/j_spring_<wbr>cas_security_check</a></div><div><span class="m_-1166827192006428108gmail-Apple-tab-span" style="white-space:pre-wrap"> </span></div><div>rather than creating an if statement for each one I would like to do a pattern match up against something like this</div><div><br></div><div>(https:\/\/.+(<a href="http://pima.edu" target="_blank">pima.edu</a>\/<wbr>applicationNavigator\/j_<wbr>spring_cas_security_check)\/?.<wbr>*)</div><div><br></div><div><br></div><div>and if it's true then set the nextFlow = "authn/Duo"</div><div><br></div><div><br></div><div>Anyone one have a sample I can hack at? If not no worries I'm very happy with my success so far and can probably live with adding each one separately. </div><div><br></div><div><br></div><div>Thanks!</div></div><div><br></div><div><br></div><br clear="all"><div><div class="m_-1166827192006428108gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div></div><div><br></div><div>Brad Mathis</div><div>Principal Systems Analyst</div><div>Pima Community College</div><div>IT - Technical Services</div><div>520.206.4826</div><div><a href="mailto:bmathis@pima.edu" target="_blank">bmathis@pima.edu</a></div></div><div><br></div><div><img src="https://docs.google.com/a/pima.edu/uc?id=0B4QEFWYNTFJATTZySzROc0JISEk&export=download" width="200" height="150"><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div></div></div></div></div></div></div>
</div>
<br>--<br>
For Consortium Member technical support, see <a href="https://wiki.shibboleth.net/confluence/x/coFAAg" rel="noreferrer" target="_blank">https://wiki.shibboleth.net/<wbr>confluence/x/coFAAg</a><br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net">users-unsubscribe@shibboleth.<wbr>net</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div>Lee Foltz</div><div>Oakland University - UTS</div><div>Senior Identity Systems Engineer</div><div> </div><div>248-370-2675</div></div>
</div>