46 lines
3.5 KiB
Markdown
46 lines
3.5 KiB
Markdown
# 0006 — Accès : connect.monnaie-libre.fr, invitations, trustinWallet
|
|
|
|
**Contexte.** « Le même accès que pour le forum Monnaie libre », « toute personne avec une clé
|
|
Duniter peut se loger et tout faire — sauf la gestion des accès », qui revient à trustinWallet
|
|
(nouveau nom de trustWallet, déjà pris).
|
|
|
|
**Décision.**
|
|
- Connexion Ğ1 : libreDecision est client OAuth2 de connect.monnaie-libre.fr (comme le forum).
|
|
Le compte est la clé d'identité (`idty:N`) ; on garde le nom affiché et le statut de membre.
|
|
- En attendant l'inscription du client : liens d'invitation à usage unique (14 jours), le
|
|
secret dans le fragment de l'URL (jamais dans les journaux du serveur). Un administrateur
|
|
peut redonner un lien à une personne invitée (autre appareil, session perdue).
|
|
- **Liens d'équipe** (Yvv, 2026-10-21 : « je vais l'utiliser plein de fois, pendant tout le
|
|
dev, et la partager avec une équipe ») : un lien réutilisable jusqu'à une date (90 jours au
|
|
plus) et pour un nombre de personnes (500 au plus), révocable. Chaque ouverture demande un
|
|
nom et crée **sa propre** identité d'invitation, jamais administratrice. Un nom déjà pris est
|
|
refusé, quelle que soit sa tenue (casse, accents, ponctuation : `ld_engine::names`, index
|
|
unique) ; un nom s'écrit en lettres latines, chiffres, espace, trait d'union, apostrophe ou
|
|
point (pas de sosie cyrillique, grec ou pleine chasse). Une personne déjà connectée garde son
|
|
identité et reçoit les groupes ; elle ne prend une place que si le lien lui en ajoute un ; sur
|
|
un navigateur partagé, « Ce n'est pas moi » la déconnecte. Un nom qu'une invitation attend
|
|
est protégé aussi.
|
|
- Tout auteur venu par invitation porte la mention **« sur invitation »** à côté de son nom
|
|
(propositions, révisions, signalements) : un nom pris avant l'arrivée de son titulaire Ğ1, ou
|
|
une lettre sosie, ne passe jamais pour un membre de la toile.
|
|
trustinWallet montre par quel lien chaque identité est venue. Limite assumée : une même
|
|
personne qui l'ouvre deux fois, sous deux noms, a deux identités — sans effet dans Monnaie
|
|
libre (seule la toile vote), à surveiller dans le groupe d'essai.
|
|
- Sessions : cookie HttpOnly, SameSite=Lax, Secure en https (`__Host-`), jeton haché en base ;
|
|
en-tête anti-CSRF sur toute écriture. Une session dure **jusqu'à ce qu'on la ferme** : 400 jours
|
|
(ce qu'un navigateur garde au plus), recomptés à chaque visite, une fois par jour au plus. On la
|
|
ferme en se déconnectant, ou un administrateur ferme dans trustinWallet les sessions d'une
|
|
identité (appareil perdu, départ), jamais celle d'où il agit. (D'abord 30 jours fixes, changé le
|
|
2026-10-23 : une personne invitée n'a pas de clé Ğ1 pour revenir, et une session expirée lui
|
|
coûtait un nouveau lien.)
|
|
- Les règles (qui voit, qui ouvre, qui administre) vivent dans `trustin-access`, futur cœur du
|
|
service trustinWallet ; le serveur ne décide jamais seul.
|
|
- **Une personne, une voix** : là où l'électorat est la toile de confiance (Monnaie libre),
|
|
seuls ses membres votent ; une identité d'invitation y lit et propose. Un nouveau lien ne
|
|
vise jamais une identité Ğ1 (un administrateur ouvrirait une session à sa place).
|
|
- Premier administrateur : un lien d'invitation écrit au premier démarrage dans le volume de
|
|
données (0600), jamais dans les journaux.
|
|
|
|
**Coût.** Tant que connect n'est pas branché, chaque testeuse a besoin d'un lien. Quand
|
|
trustinWallet deviendra un service, `trustin-access` deviendra son client.
|