Skip to main content

Centreon WEB 24.10 auth with SAML and EntraID with MFA/SSO [FIX]

  • January 8, 2026
  • 1 reply
  • 42 views

Forum|alt.badge.img+17

Hello

I recently had to change the authentication method on a centreon web setup to activate m365/EntraID  saml login.

Thanks to the fix to the UI to implement the “strict” method, it works without editing the PHP files like before, however there are some issues depending on how you have setup your m365 account

Case 1 : no MFA, simple login/password (that’s bad) <= saml with Entra works

Case 2 : you activated your MFA, and do not use windows hello, so you still use you login/password in your browser <== saml with Entra works

Case 3 : you went full mfa, no password, windows hello/fido, identify token, so you are never typing a password to login into microsoft entra <== saml with Entra does not work

 

when login in an already authenticated browser 

AADSTS75011: Authentication method 'X509, MultiFactor, X509Device' by which the user authenticated with the service doesn't match requested authentication method 'Password, ProtectedTransport'. Contact the application owner.

 

when login into an unauthenticated browser (in private, or a new browser

AADSTS75011: Authentication method 'MultiFactor, Fido' by which the user authenticated with the service doesn't match requested authentication method 'Password, ProtectedTransport'. Contact the application owner.

 

so what to do when you have error message from microsft with incompatible authentication method.

 

according to Microsoft it all comes from an optional parameter called “requestedAuthnContext” which will set the comparison method for the way the user authenticated.

this is problematic as there are multiple method to authenticate with all these sso/mfa/token method

Microsoft simply says to not provide that parameter, as it is optional and not correctly working with all the modern authentication method

 

The issue is that the centreon implementation of php-saml is always setting that parameter to “true”, there are no way to set it to false from UI

this is setup in the file 

/usr/share/centreon/src/Core/Security/Authentication/Infrastructure/Provider/Settings/Formatter/OneLoginSettingsFormatter.php

on my version (24.10.16)

the object/variable requestedAuthnContext is not defined, so the default is used

I found a simple way to force that setting to false, in the php-saml lib in this file

/usr/share/centreon/vendor/onelogin/php-saml/src/Saml2/Settings.php (line 358, there should be only one assignment of this object in the file)

 

Alternatively, you can add a line above line 76, in the OneLoginSettingsFormatter.php

'requestedAuthnContext' => false,

this set the value to false, ignoring the next line basically and now you can login with MFA and any sso/token/WindowsHello you PC is using to authenticate

 

I see that the code on the github has already a line with that variable in the develop branch,

it has a “hasRequestedAuthnContext()” function, 

I check the release branch, this is not implemented yet

 

 

1 reply

Forum|alt.badge.img+17
  • Author
  • Centreon Lord Commander
  • January 8, 2026

ah and I looked here without finding a solution, and when I posted I found all the solution on the right :D this was already posted