Posted on Monday, 19 April 2021
When doing a SAML authentication loop, a Service can set a
ForceAuthn flag which demands that the Identity Provider "MUST authenticate the presenter directly rather than rely on a previous security context" which should be interpreted along the lines of "must reauthenticate the user" or "must prove user presence" and that assuming a current (cookie authenticated) session is not acceptable.
This is known to cause issues in some use-cases, for example where IdP operators are using the
RemoteUser authentication flow in Shibboleth IdP rather than the default Password flow. While there are ways to work around this issue by updating the IdP configuration, this can render the IdP non-compliant.
RemoteUser flow is often used to delegate the authentication step to another IdP (usually ADFS or Azure). Shibboleth Identity Provider v4 introduced support for SAML Proxying which supports this workflow natively, without needing the
RemoteUser call-out, and as such, supports the
ForceAuthn flag correctly.
If your IdP is using the
RemoteUser flow in this way then, to ensure compliance with the relevant specifications, our strong recommendation is that you consider moving to the native SAML Proxying functionality when you've upgraded to v4.
Edited by MatthewSlowe on 20 April 2021, at 12:42 PM