Implémentation connexion SAML

Je tente de mettre en place une connexion SAML dans Simplicité 5.2 mais je n’y parviens pas.

J’ai suivi les informations liées aux deux liens suivant:

J’ai bien mis en place, dans la configuration système “AUTH_PROVIDERS” avec les informations nécessaires.

Mon Provider est bien présent sur la page “localhost/ui” comme ci-dessous:

Si je clique sur “Sign in with SAML”, mon URL passe à localhost/saml (c’est normal si j’ai bien compris). En revanche, j’ai l’erreur suivante dans les logs:
2023-08-04 16:17:41,172|SIMPLICITE|ERROR||http://15814c93f50c:8080||ERROR|system|com.simplicite.webapp.servlets.SAMLServlet|doGet||Event: No SAML provider configured for name [none]

Il y a une chose supplémentaire à définir autre part que dans “AUTH_PROVIDERS” ?

Cordialement.

Bonjour,

il y a AUTH_PROVIDERS pour signaler n providers et tous les paramètres SAML à définir.

SAML_IDP_ENTITY_ID , SAML_IDP_SSO_URL …etc

Voici les paramètres que j’ai définit dans la configuration AUTH_PROVIDERS pour une authentification via SAML:
“name”: “test_saml”,
“type”: “saml”,
“label”: “S’authentifier via SAML”,
“sync”: “false”,
“saml_idp_certificate”: “xxxx”,
“saml_idp_entity_id”: “xxxx”,
“saml_idp_sso_url”: “xxxx”,
“visible”: true

Il est à noter que le paramètre “saml_idp_entity_id” est une URL.

Ais-je omis quelque chose?

Exemple AUTH_PROVIDERS

[
	{ "name": "simplicite", "type": "internal" },
	{ "name": "google", "type": "saml", "label": "Sign in with Google SAML IdP", "sync":"false", "visible":true }

]

Ensuite il faut créer les paramètres systèmes suivants (ils ne sont pas dans AUTH_PROVIDERS) :

SAML_IDP_CERTIFICATE , SAML_IDP_ENTITY_ID, SAML_IDP_SSO_URL

Exemple :
image

Quelle est la version de Simplicité ?

L’application tourne sur Simplicité 5.2.

Sur une version 5.2 à jour ?
Que renvoit /health ?

Je te conseille de mettre les paramètres SAML dans des paramètres systèmes distincts. Il y a peut être un pb de parsing à cause du certificat.
Plusieurs façons de retrouver le provider

  • en session
  • par le Relaystate si ton SSO supporte le RelayState
  • sinon par le paramètre système SAML_DEFAULT_PROVIDER

Créé le paramètre système SAML_DEFAULT_PROVIDER avec comme valeur test_saml

Le /health indique cela:
[Platform]
Status=OK
Version=5.3.10
BuiltOn=2023-07-28 09:49
Git=5.3/2de87260b46e07d19a8e91c43b04e196c7a9416d
Encoding=UTF-8
EndpointIP=172.23.0.3
EndpointURL=http://a0209671cee3:8080
TimeZone=Europe/Paris
SystemDate=2023-08-07 09:50:48

[Application]
ApplicationVersion=5.2
ContextPath=
ContextURL=http://localhost:8080
ActiveSessions=0
TotalUsers=4
EnabledUsers=1
LastLoginDate=2023-08-04 17:10:43

[Server]
ServerInfo=Apache Tomcat/9.0.78
ServerType=WEB
ServerActiveSessions=1
ServerSessionTimeout=20
CronStarted=true

[OS]
Name=Linux
Architecture=amd64
Version=5.15.90.1-microsoft-standard-WSL2
DockerImageName=centos7
SystemEncoding=UTF-8

[JavaVM]
Version=17.0.8
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.8+7
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=216737
HeapSize=481280
HeapMaxSize=1777664
TotalFreeSize=1513121

[Cache]
ObjectCache=41
ObjectCacheMax=10000
ObjectCacheRatio=0
ProcessCache=41
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=15.3 (Debian 15.3-1.pgdg120+1)
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.6.0
DBDate=2023-08-07 09:50:48
DBDateOffset=0
DBPatchLevel=5;P03;267c0ef1b7cb5da1c2bf6f5f9e5ab07e
UsingBLOBs=true

[Healthcheck]
Date=2023-08-07 09:50:48
ElapsedTime=306

Je vais essayer de faire un paramètre système SAML par défaut.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.