Handling LOA-based authentication context classes in Shibboleth IdP

Guillaume Rousse guillaume.rousse at renater.fr
Tue Jun 23 10:30:46 UTC 2026


Hello list.

According to IdP documentation on authentication flow selection[1], the 
IdP handles request requiring a specific authentication context class by 
comparing the request requirements with current user session (if any) 
first, and with the list of supported principals for every available 
login flow second. A request requesting "https://refeds.org/profile/mfa" 
context class, for instance, will immediatly result in a error response 
with urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext status code, if 
none of the available login flow has this value specified in its list of 
supported principals.

This works fine when those context classes only express an 
authentication assurance level, based on authentication mechanisms, as 
request requirement handling occurs before user authentication.

However, eIDAS SAML message format specification [2] mandates usage of 
authentication context classes mixing authentication and identity 
assurance levels:
- http://eidas.europa.eu/LoA/low
- http://eidas.europa.eu/LoA/substantial
- http://eidas.europa.eu/LoA/high

Given than identity assurance level is usually user-specific (typically, 
employees have higher identity assurance levels than students or 
contractors), this would make handling the requirement more complex, as 
the IdP would have to:
1) find a compatible login flow
2) run the flow, to authenticate the user
3) retrieve a minimal list of attributes
4) check if it matches request requirements

AFAIK, 3 and 4 require non-trivial post-login processing, similar to 
subject canonicalization, and usage of scripted procedures. Or am I 
missing something ?

Regards
-- 
Guillaume Rousse
Direction des Services Applicatifs
RENATER - Paris

[1] 
https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199505253/AuthenticationFlowSelection
[2] 
https://ec.europa.eu/digital-building-blocks/sites/download/attachments/467109280/eIDAS%20SAML%20Message%20Format%20v.1.4.1_final.pdf?version=1&modificationDate=1729176505264&api=v2

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4291 bytes
Desc: Signature cryptographique S/MIME
URL: <http://shibboleth.net/pipermail/users/attachments/20260623/303c6f89/attachment.p7s>


More information about the users mailing list