tchapgouv / tchap-web-v4

A Matrix web client for Tchap
https://www.tchap.gouv.fr/
Apache License 2.0
12 stars 5 forks source link

J'aimerais inviter des externes dans un Espace #1030

Open odelcroi opened 6 months ago

odelcroi commented 6 months ago

Why

What

### How
odelcroi commented 6 months ago

Olivier Bourreau [Beta] : Je résume ma problématique d'hier pour le cas où quelqu'un vient à passer et aurait une idée :

Nivann commented 6 months ago

Olivier a utilisé Element pour créer certains de ces salons : est-ce que cela aurait pas un impact sur sa problématique ?

oblab commented 6 months ago

Olivier a utilisé Element pour créer certains de ces salons : est-ce que cela aurait pas un impact sur sa problématique ?

Malheureusement, même souci avec les salons créés sous Tchap (interface web) ou sous l'app Android

En revanche, j'ai utilisé Element pour créer l'espace, puisqu'on ne peut pas créer d'espace depuis la version web. Peut-être une piste à creuser @odelcroi et @Nivann ?

der-siebte-schatten commented 5 months ago

Bonjour, Sur Matrix, il faut régler l'accès des salons d'un espace à "Membres de l'espace" et cocher le ou les espace(s) souhaités afin que les utilisateurs puissent rejoindre le salon par eux-mêmes. Tant que le salon est réglé en "privé", seule une invitation nominative leur permet de rejoindre le salon, comme hors d'un espace.

Par contre, cela implique qu'il sera probablement également accessibles aux externes membres de l'espace. Il n'y a pas de permission supplémentaire permettant d'inclure ou d'exclure les externes du salon. Là cela pose un autre problème. image

der-siebte-schatten commented 5 months ago

Réflexion faite, dans son cas je pense qu'il n'a qu'une seule option : créer deux espaces différents, un non ouvert aux externes et l'autre oui.

Il est en effet possible par la suite d'autoriser de rejoindre un salon depuis plusieurs espaces (un même salon pouvant être dans plusieurs espaces de travail). Ainsi les salons ouverts aux deux sont ajoutés aux deux espaces et mes salons non ouverts aux externes ne sont ajoutes qu'au premier espace. Chacun ne verra donc que ce qu'il est censé pouvoir voir.

odelcroi commented 5 months ago

Tant que le salon est réglé en "privé", seule une invitation nominative leur permet de rejoindre le salon, comme hors d'un espace.

Tchap utilise une permission spéciale basé sur un événement custom qui n'est pas inclu dans la spec Matrix pour "cacher" les salons qu'un utilisateur externe ne doit pas voir.

Nous avons personnalisé les options ici : https://github.com/tchapgouv/tchap-web-v4/blob/develop_tchap/src/tchap/lib/createTchapRoom.ts

Lors de l'affichage des rooms d'un space, un appel API est lancé vers /hierarchy

Coté serveur, les permissions des externes sont vérifiés au moment de l'appel serveur. Par exemple, ai-je le droit d'inviter une pesronne par son email dans un salon est vérifié ici : https://github.com/element-hq/synapse-room-access-rules/blob/08e019173909b9c14c0bd92a0af8e49e858f4ae3/room_access_rules/__init__.py#L284

Ainsi, il semblerait que la fonction serveur /hierarchy qui affiche le contenu d'un space, ne retourne pas le contenu attendu pour un utilisateur externe.

odelcroi commented 5 months ago

Sur Matrix, il faut régler l'accès des salons d'un espace à "Membres de l'espace" et cocher le ou les espace(s) souhaités afin que les utilisateurs puissent rejoindre le salon par eux-mêmes.

Que voulez-vous dire par "Sur Matrix", parlez vous de Tchap? Si je comprend bien, le problème que vous remontez est :