<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Apr 4, 2014 at 3:52 PM, Rich Graves <span dir="ltr">&lt;<a href="mailto:rgraves@carleton.edu" target="_blank">rgraves@carleton.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">&gt; The SP needs to send the &quot;assurance&quot; requirement via the AuthnContextClassRef field of the AuthRequest. You can&#39;t control on the IdP side &quot;SP X requests must do DUO&quot;.<br>

<br>
</div>Yes, that flow is as expected. I just need to figure out how exactly to do that. I will do my homework. I suppose /etc/shibboleth/bindingTemplate.html would be too easy?<br></blockquote><div><br></div><div>It&#39;s even easier than that.  One of my apps uses the /Login initiator when it wants an elevated session.  For instance, app detects that user tries to access a resource that requires silver.  We just redirect over to </div>
<div><br></div><div><a href="https://application.host.domain/Shibboleth.sso/Login?authnContextClassRef=http%3A%2F%2Fid.incommon.org%2Fassurance%2Fsilver&amp;target=URL_ENCODED_PROTECTED_RESOURCE">https://application.host.domain/Shibboleth.sso/Login?authnContextClassRef=http%3A%2F%2Fid.incommon.org%2Fassurance%2Fsilver&amp;target=URL_ENCODED_PROTECTED_RESOURCE</a><br>
</div><div><br></div><div>When the user returns, we check to see that <a href="http://id.incommon.org/assurance/silver">http://id.incommon.org/assurance/silver</a> is the current AuthenticationContext.  You can also do that via the commands in either the RequestMap or in Apache&#39;s config.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><br>
&gt; As for your second question, once again, it&#39;s on the Service to say &quot;hmm, this user is from Nigeria, I should make them to 2-factor&quot;<br>
<br>
</div>Hmm. I agree that the SP, not something like the IdP&#39;s relying-party.xml, should decide if an SP wants step-up authentication. But I think I want one central decision point on &quot;risky&quot; IPs -- and certainly on dodgy globe-trotting behavior. Individual SPs, especially third-party SPs, do not know what my IdP knows about expected user behavior.<br>

<br>
There is already the &lt;idms attributeResolverID&gt; mechanism for forcing a *user* to a higher assurance level regardless of SP. Or is that supposed to be an inclusive set, and I&#39;m abusing it by making it exclusive? It looks like I could make &quot;creative&quot; use of &lt;idms attributeResolverID&gt; pointing to an instrumented database or LDAP server. Go ahead and talk me out of that.<br>
</blockquote><div><br></div><div>I&#39;m &quot;abusing&quot; it the same way you are -- forcing a set of users to a higher assurance.  The intent of that though is to be an inclusive set.  Now, you may try getting clever with the attribute-resolver &amp; limiting the values returned based on either the EntityID of the SP or the IP address of the user, but I&#39;m not sure how that would play out with the IdPs caching of resolved attributes if the IDMS attribute&#39;s values change per authentication.  That&#39;s more of a question for one of the Devs -- Devs?</div>
<div><br></div><div>Dave</div><div><br></div></div>-- <br>David Langenberg<div>Identity &amp; Access Management</div><div>The University of Chicago</div>
</div></div>