<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} P{margin-top:0;margin-bottom:0;}--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Shibboleth community--</p>
<p><br>
</p>
<p>I have configured my 2.x IdP to support 2 login handlers:</p>
<p>- A basic UsernamePassword handler configured as urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</p>
<p>- A RemoteUser handler (which does MFA auth upstream) configured as urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken</p>
<p><br>
</p>
<p>In reading the documentation, I understand that an RP can request/require the type of authentication to be performed, but is there a way to do the same thing when an RP isn't involved in the process (IdP initiated login flow)? I'm working to extend the Shibboleth
 reference architecture for AWS (which uses the IdP initiated flow exclusively) to show a pattern where highly sensitive operations require the stronger authentication, but don't want to go so far as to require the stronger auth form universally. </p>
<p><br>
</p>
<p>I've been able to construct a good working POC end-to-end, but right now my only solution for "selecting" the authentication mechanism is by altering the defaultAuthenticationMethod of the DefaultRelyingParty. Instead, I'm really hoping that there's a query
 string parameter or something similar that I can append to the initial url to make this selection. For example:</p>
<p><br>
</p>
<p>https://<hostname>/idp/profile/SAML2/Unsolicited/SSO?providerId=urn:amazon:webservices&authmethod=</p>
<p>urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken</p>
<p><br>
</p>
<p>Any thoughts or alternative solutions would be greatly appreciated.</p>
<p><br>
</p>
<p>Cheers,</p>
<p><br>
</p>
<p>-Quint<br>
</p>
</body>
</html>