Simplicité platform version 4.0 P23 RELEASE CANDIDATE

The Simplicité platform version 4.0 P23 RELEASE CANDIDATE has been made available on the template’s prerelease Git branch and as the beta Docker image.

See the draft release note for details.

Any feedback on this release candidate version is warmly welcome.

If no blocking issue is raised by May 1st, this version will be pushed as the P23 RELEASE.

Thank you for helping us in the final validation process of this furture release.

Bonjour,

j’ai upgradé une instance de test pour passer en P23 et depuis, je ne peux plus me connecter en designer !
pour essayer de savoir d’où cela vient, j’ai fait les tests suivants :

  • j’ai créé une nouvelle instante en P23B, je me suis connectée en designer => ok
  • j’ai importé notre module Crb => ok
  • j’ai voulu me reconnecter en designer => KO … pas de message d’erreur, la page d’accueil se ré-affiche avec login et mdp vides

Pouvez essayer de supprimer les cookies associés à l’URL de votre instance ?

je viens de le faire, ça ne change rien

Des messages dans la console du navigateur ?

rien du tout.
par contre, je peux me connecter avec mon compte crowd …

Il faut mettre le paramètre CROWD_DEBUG à yes pour voir ce qui se passe dans les logs.

Pour Crowd, si le login commence par “designer” ou “public” crowd n’est pas sensé être appelé.
Il y a peut être une régression sur ce point vu qu’en P23 pas mal de choses ont évoluée sur le multi-auth-provider et tout son paramétrage.

A mon avis il faut configurer l’auth avec crowd et simplicite.
que contient votre paramètre système OAUTH2_PROVIDER et/ou AUTH_PROVIDERS

  • OAUTH2_PROVIDER est deprecated mais doit être géré pour compatibilité ascendante.
  • AUTH_PROVIDERS = un json qui contient tous les providers (simplicite, google, ldap…)

je ne sais pas ce qu’il faut mettre pour Crowd. @david ?

Je viens de regarder, s’il n’y a que Crowd comme provider, les users techniques (designer, public…) sont gérés avec une authent locale en dur.

donc à priori ça semble juste un problème de mot de passe / hash en base

  • designer a-t-il été réimporté par votre module, ce qui a peut être modifié son mot de passe ?
  • les mots de passe ne sont pas hashés en base ou l’inverse ? (cf table m_user / usr_password)
    versus paramètre HASH_PASSWORD = MD5:HEX

Si vous pouvez vous connecter avec un user CROWD avec droit ADMIN, il faut re-changer le mot de passe du designer.

non, designer n’a pas été réimporté par le module.
je dois créer un groupe ADMIN dans crowd pour faire ce que tu dis.

je te tiens au courant

je ne peux pas créer de groupe ADMIN dans crowd

avant l’import du module CRB, je pouvais sans pb me connecter avec designer.
je ne pense pas que ce soit un pb de mdp hashés ou pas en base.

j’ai fait des modifs en bdd dans la table m_resp pour que mon compte crowd soit admin.
j’ai regénéré le mdp de designer
j’ai essayé de me connecter avec designer et j’ai toujours le mm pb

je n’ai pas d’erreur dans les logs …

j’ai regardé les paramètres système :
OAUTH2_PROVIDER =none et AUTH_PROVIDERS n’existe pas

Le problème est alors lié à l’authent dual “CROWD ou user interne”.
Vous pouvez désactiver CROWD pour déjà être sûr que le login designer n’a pas de pb :

  • via CROWD_URL=none
  • et OAUTH2_PROVIDER=simplicite

Maintenant tout les providers d’authent sont regroupés dans AUTH_PROVIDERS, qu’ils soient interne, OAUTH2, ldap, saml ou autre…

  • OAUTH2_PROVIDER est deprecated et à supprimer
  • et mettre dans AUTH_PROVIDERS =
[
	{ "name": "simplicite", "type": "internal" },
	{ "name": "crowd", "type": "crowd" }
]

A voir s’il faut retirer simplicité si ce n’est pas utile puisque crowd gère normalement des exceptions sur designer et public.

j’ai désactivé CROWD => connexion avec designer OK
suppression de OAUTH2_PROVIDER et création de AUTH_PROVIDERS avec les valeurs fournies => connexion avec designer OK et connexion avec compte CROWD OK

suppression de “name”: “simplicite”, “type”: “internal” => connexion avec designer KO et connexion avec compte CROWD OK

du coup, ça pose problème car si je laisse “name”: “simplicite”, “type”: “internal” l’utilisateur doit choisir la connexion qu’il souhaite utiliser

On peut ajouter un flag sur les providers pour dire s’ils sont visibles.

S’ils ne sont pas visibles ils ne seraient pas visibles sur la page de choix des providers mais il resterait possible de les solliciter via un paramètre d’URL genre <url>/ui?provider=<provider type>:<provider name>

Est-ce que cette solution conviendrait ?

non ça ne corrigera pas le problème, le protocole interne de /crowd seul prévoyait de rediriger vers une authent locale certains users techniques uniquement (designer* / system / public).

il faut donc que ça passe comme avant, sans avoir simplicite comme provider global.

Et ça doit valoir qq soit le provider pour tous les users techniques locaux, crowd n’est qu’un cas particulier. Il doit toujours être possible de se connecter en designer avec un compte local, qq soit le paramètre AUTH_PROVIDERS.

J’ai quand même prévu la possibilité de masquer un provider par un "visible": false dans AUTH_PROVIDERS ça pourra servir dans d’autres cas.

NB : Cette évolution très localisée sera backportée sur la prerelease P23

si je résume : dans la P23 actuelle il manque le paramètre 'AUTH_PROVIDERS` et le paramètre OAUTH2_PROVIDER inclus dans notre module Crb pose pb …

c’est ça ?

Oui je pense que ça ne peut plus être compatible ascendant. Une fois la P23 upgradée (demain) il faudra retester avec :

[
	{ "name": "simplicite", "type": "internal", visible: false },
	{ "name": "crowd", "type": "crowd" }
]

Ca devrait laisser passer le user “designer” en local mais ne pas afficher ce provider à l’écran…
@david confirmera ou ajustera

je viens de tester la solution et ça ne fonctionne pas :
avec ce paramétrage, j’ai l’écran suivant :

image

Pour nous c’est un point de blocage pour le déploiement de la P23