SAML/OIDC service settings are not saved
Concerned version
Version: 2.0.5
Platform: (Apache) New installation on Debian 10 with up-to-date stable packages and ow2 repo for LemonLDAP installation (stable as well)
Summary
SAML/OIDC settings are not saved, whether from cli or web.
CAS => OK
Ex: /usr/share/lemonldap-ng/bin/lemonldap-ng-cli set samlOrganizationName "my Organization" Cli ask for confirmation but nothing is saved and export of the config shows nothing. All other SAMLsettings are untouched and kept as default.
Logs
Nothing shown in the logs, cli or web respond "localhost: OK".
Backends used
postgresql but also tested on fresh installation with file storage
Possible fixes
Conf parser does not detect changes?
Not sure where to look, but using the web GUI I noticed some discrepancies between the json in the POST and the GET Like the json in the POST shows "node" instead of "_nodes" for some the SAML nodes (for node ID samlServiceMetaData and ID samlOrganization specifically).
Example of a node, in the POST (/manager.fcgi/confs/?cfgNum=226):
{ "help": "samlservice.html#organization", "id": "samlOrganization", "title": "samlOrganization", "type": "simpleInputContainer", "nodes": [ { "default": "Example", "id": "samlOrganizationDisplayName", "title": "samlOrganizationDisplayName", "data": "my Organization" }, { "default": "Example", "id": "samlOrganizationName", "title": "samlOrganizationName" }, { "default": "http://www.example.com", "id": "samlOrganizationURL", "title": "samlOrganizationURL" } ] },
Where the GET (/static/struct.json) shows:
{ "_nodes": [ { "default": "Example", "id": "samlOrganizationDisplayName", "title": "samlOrganizationDisplayName" }, { "default": "Example", "id": "samlOrganizationName", "title": "samlOrganizationName" }, { "default": "http://www.example.com", "id": "samlOrganizationURL", "title": "samlOrganizationURL" } ], "help": "samlservice.html#organization", "id": "samlOrganization", "title": "samlOrganization", "type": "simpleInputContainer" },
The other thing I noticed comparing the POST json and GET json is the location of the helper bloc:
"help": "samlservice.html#organization", "id": "samlOrganization", "title": "samlOrganization", "type": "simpleInputContainer"
which is above the node in the POST and below in the GET.
Let me know if you need more details.