ForceAuthn Issues

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.

The 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.

See also:

Edited by MatthewSlowe on 20 April 2021, at 12:42 PM