(Non résolu) Empêcher le portail SSO de s'interposer pour DECIDIM

edit : merci à toutes les réponses et aux volontaires. À 3 jours prêt, j’ai tardé à répondre à ce sujet, clos automatiquement (ça m’apprendra à tarder, désolé !)
Je voulais donc juste signaler que j’ai essayé tous les conseils, mais visiblement la gestion multidomaine ne fonctionne pas dans le cas de Decidim, qui du coup n’est pas fonctionnel.
Il serait peut-être préférable de désigner le paquet de cette application comme défectueux (c’est une proposition).
Encore merci à tous pour votre réactivité.

Bonjour à tous les volontaires,
grâce à YunoHost, je viens d’installer Decidim sur mon serveur.
Decidim permet de créer des instances web (avec des url différents) qu’elle gère de manière centralisée.
J’ai donc actuellement mon Decidim ici : https://decidim.converger.fr
et depuis Decidim j’ai créé une instance ici : https://participer.converger.fr

Or quand je cherche à accéder à https://participer.converger.fr, le SSO s’interpose, alors que je voudrais que tout le monde puisse directement y accéder (comme un site wordpress public par ex).
Comment faire pour empêcher SSO de s’interposer ?

Mon serveur YunoHost

Matériel: VPS Intel
Version de YunoHost: 4.3.6.3 (stable)
J’ai accès à mon serveur : En SSH et par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Hello,
Dans l’onglet Utilisateurs comment sont paramétrées les permissions de l’application ?

chez moi, il y a etc/nginx/conf.d/default.d/redirect_to_admin.conf qui redirige vers la page SSO - j’envisage de modifier ce fichier mais je ne sais pas encore comment ni si c’est une bonne idée.

Mieux vaut expérimenter à l’aide d’un hook.

En cas de problème tu pourras toujours désactiver ce dernier et régénérer la configuration de base.

Decidim n’était pas dans la liste des Visiteurs.
J’ai anticipé sur ta question en y ajoutant Decidim.
À présent, https://decidim.converger.fr est directement accessible (pas de SSO), mais en fait cela ne me gênait pas.
Et malheureusement, https://participer.converger.fr redirige toujours vers le SSO :cry:

Merci Kit, malheureusement cela dépasse mes compétence.
Comment faire un hook ?

Un peu de lecture par ici.

La partie qui t’intéresse est celle sur conf_regen.

1 Like

Avant de faire des hooks, regarde bien dans les droits d’accès. si tu veux que les gens puissent accéder à des services sans se connecter, tu dois donner accès aux visiteurs pour ce site. Actuellement, tu n’as pas dû le faire pour le service que tu proposes à cette url !

Voilà un exemple : pour que les gens puissent voir mon site sans se connecter au sso, je dois mettre l’app wordpress accessible aux visiteurs :slight_smile:

Merci Cellophile. Alors je l’ai fait pour Decidim (https://decidim.converger.fr), que j’ai effectivement ajouté à Visiteurs, et ai donc directement accessible.
Mais en fait, dans Decidim, on crée des instances sous d’autres url, dont Decidim fait office de serveur central. Ici dans mon cas, l’instance que j’ai créé dans Decidim est https://participer.converger.fr . Et une fois créée, cet url me ramène quand même au SSO.
Et je ne vois pas comment ajouter dans le SSO juste l’url à épargner :-/

Je ne connais pas decidim. Mais pour moi, chaque domaine ou sous-domaine doit passer par yunohost, et supporter, dans yunohost, une app (ou plusieurs, si tu mets /nom-de-l’app à la fin de l’url).

ton domaine participer.converger.fr est-il rentré dans ynh ?
Ton instance que tu as créée dans decidim, est-elle accessible autrement qu’en passant par ce sous-domaine ? (par ex, avec une adresse du genre decidim.converger.fr/participer)

J’ai regardé par curiosité comment ça marche pour wordpress en multisite (ça a l’air de se rapprocher de ce que tu recherches). Résultat, pour l’instant, ça marche pas avec des sous-domaines :

Si le but de participer.converger.fr est de renvoyer vers quelque chose comme http://decidim.converger.fr/votings/participer ou je ne sais quoi, tu peux utiliser l’app redirect qui te permettra de rediriger les gens vers ta page, avec une url simple. Mais cette page ne sera pas hébergée par ton sous-domaine.

Bonjour, le problème est en effet que l’application essaie d’utiliser un domaine (participer.converger.fr) qui ne correspond pas à celui qui lui est assigné (decidim.converger.fr). On peut choisir un Hôte pour chaque organisation, ainsi que des hôtes secondaires.

Une limitation du système de permissions de YunoHost fait qu’une app ne peut utiliser qu’un seul et même domaine. Decidim ne permet d’assigner un hôte/domaine qu’à une seule et même organisation.

Pour contourner le problème, installe ou déplace Decidim sur participer.converger.fr et crée ton organisation avec ce même hôte. Si tu veux plus d’organisations, il faudra pour l’instant réinstaller une autre instance de Decidim.


@Dev, qu’en pensez-vous ? Devrions-nous faire évoluer le système de permissions pour permettre à une app de s’étendre sur plusieurs domaines ? (il me semble que ça intéresserait d’autres apps). Bon par contre, ça sera très vite le bazar avec la config NGINX.

Il me semble que les permissions peuvent supporter du multi url. En tout cas la doc de ynh_permission_create semble indiquer qu’on peut préciser le domaine dans additionnal_url: App helpers | Yunohost Documentation

Dans le cas précis qui est décris ici, on peut aussi opter pour adapter le fichier /etc/ssowat/ssowat.conf.persistent pour autoriser ces domaines.

Mais comme le dit titus ça ne suffit pas car il faut aussi ajouter la configuration nginx qui va bien. Le paquet decidim ne semble pas le prévoir, ce serait pourtant peut être possible en y ajoutant un config panel pour ajouter les domaines à autoriser.

1 Like

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