Configuration SAML

1
0
-1

Hello,

Je rencontre des difficultés dans la configuration de la connexion SSO avec SAML. Je suis bien redirigé vers l'Idp pour l'authentification, mais je ne suis pas redirigé ensuite sur mon application Bonita.

Quand je reviens sur celui-ci, mon JSESSIONID est différent, et il tente à nouveau de se connecter.

Je reçois bien une réponse SAML de mon Idp, mais je rencontre cette erreur dans le log : org.keycloak.adapters.saml.profile.webbrowsersso.WebBrowserSsoAuthenticationHandler Error extracting SAML assertion: null.

Est-ce que l'anomalie se situe au niveau de la configuration entre l'Idp et la configuration du keycloack-saml.xml ?

Quelles seraient les pistes à envisager ?

3 answers

1
0
-1
This one is the BEST answer!

Bonjour Guillaume,

Le fait que le JSESSIONID soit re-généré ne devrait pas avoir d'incidence sur l'authentification. c'est plutot un effet de bord d'un changement de politique au niveau des browser web. En revanche cela peut empêcher d'être redirigé vers la page bonita initialement demandée (dans ce cas on arrive sur la page d'accueil par défaut de Bonita (Application directory)). Il est possible de corriger ça en modifiant la politique de securité du cookie JSESSIONID au niveau du tomcat à condition d'être en HTTPS (sameSite=none).


Ici, l'erreur dans les logs me laisse plutôt penser qu'il n'a pas été possible d'extraire le username de la reponse SAML et que donc la configuration de la propriété PrincipalNameMapping dans le fichier keycloak-saml.xml ne correspond pas à ce qui est renvoyé par l'IDP. il faut soit changer la policy soit l'attribute name, je pense.
La doc indique:"
"The PrincipalNameMapping policy indicates how to retrieve, in the SAML response from the IdP, the identifier of the subject that matches the bonita user account username. The policy can either be FROM_NAME_ID or FROM_ATTRIBUTE (in that case you need to specify the name of the attribute to use --only one attribute can be specified--). There can only be one mapping (meaning that the same policy is used for all the user accounts)."

HTH

1
0
-1

Hello,
After investigation it seems this error message is due to an issue in the version of Keycloak SAML adapter we use:https://issues.redhat.com/browse/KEYCLOAK-11806

The workaround for this issue is to make surre to set the "recipient" parameter in the IdP configuration with the same value as the ACS of the service provider (.../bonita/saml), so that the "destination" atttribute is present in the SAML response. It seems some IdP dissociate those 2 values.

HTH

1
0
-1

Bonjour Anthony,

A priori, je ne constate pas de problème à ce niveau.

Dans keycloak-saml.xml, j'ai la valeur suivante :

PrincipalNameMapping policy="FROM_NAME_ID"

et dans la réponse SAML :

saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" xxxx@xxxx.com

J'ai vérifié la configuration entre Bonita et l'Idp, j'ai constaté une incohérence dans l'encryption (false dans l'Idp et true dans le xml).

Malgré la correction, pas d'amélioration...

Y aurait-il d'autres éléments pouvant causer cette anomalie ?

Guillaume

Comments

Submitted by anthony.birembaut on Tue, 12/14/2021 - 16:10

Si le name id a un fomat d'email, dans keycloak-saml.xml, Quelle est la valeur de l'attivut nameIDPolicyFormat de l'élèment SP ?
Je pense qu'il faudrait essayer avec nameIDPolicyFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" et nameIDPolicyFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" pour voir si le problème pourrait venir de là.

Notifications