assemblee-virtuelle / semapps

A toolbox to create semantic web applications
https://semapps.org
Apache License 2.0
87 stars 8 forks source link

Permettre à l'utilisateur de participer sans être authentifié #136

Open srosset81 opened 4 years ago

srosset81 commented 4 years ago

Problème

L'authentification est souvent un obstacle important à l'usage des outils. Les personnes n'aiment pas s'enregistrer, car cela prend du temps, est source d'erreurs et cela signifie souvent de la collecte de données, notamment d'emails permettant d'envoyer ensuite des messages non-désirés.

Proposer divers types de SSO allège le processus d'authentification, mais il ne résoud pas le problème de fond pour l'utilisateur: pourquoi l'oblige-t-on à s'identifier pour participer ?

Pour les GAFAM, la réponse à cette question est simple: plus on arrive à suivre le parcours d'un utilisateur et à récolter ses données de manière centralisée, plus cela aura de la valeur en termes publicitaires. Ainsi la page d'accueil de Facebook n'est rien d'autre qu'un formulaire qui nous oblige à fournir notre adresse email. (Et Facebook a dès le début insisté pour avoir les vrais prénoms et noms de famille des utilisateurs, toujours dans le but de mieux nous identifier, alors qu'à cette époque les gens étaient plutôt habitués à utiliser des pseudonymes.)

Mais pour nous ce problème ne se pose pas. On peut imaginer de revenir à l'Internet des débuts, avec ses utilisateurs anonymes, cachés sous de multiples identités. D'ailleurs Mobilizon, développé en ce moment par Framasoft, aura la particularité d'offrir la possibilité d'avoir plusieurs identités: une professionnelle, une familiale, une militante...

L'anonymat fait quant à lui partie de la philosophie des wikis depuis ses débuts, de Wikipedia à YesWiki: permettre à n'importe qui d'éditer une ressource. Cela peut parfois créer des enjeux en terme de modération, mais l'exemple de Wikipédia montre que c'est possible.

Solution envisagée

Après réflexion avec Gabriel, nous souhaiterions proposer la possibilité de créer des identités éphémères, notamment pour ActivityPub mais peut-être aussi pour WebID On aurait alors une différence plus nette entre identification et authentification, tel que décrite ici:

L'identification est une phase qui consiste à établir l'identité de l'utilisateur. Elle permet répondre à la question : "Qui êtes vous ?". L'utilisateur utilise un identifiant (que l'on nomme "Compte d'accès", "Nom d'utilisateur" ou "Login" en anglais) qui l'identifie et qui lui est attribué individuellement. Cet identifiant est unique.

L'authentification est une phase qui permet à l'utilisateur d'apporter la preuve de son identité. Elle intervient après la phase dite d'identification. Elle permet de répondre à la question : "Êtes-vous réellement cette personne ?". L'utilisateur utilise un authentifiant ou "code secret" que lui seul connait.

https://ssi.ac-strasbourg.fr/bonnes-pratiques/recommandations/lidentification-et-lauthentification/

Voilà un peu le scénario imaginé:

Plusieurs possibilités s'ouvrent à lui:

Techniquement tout cela me semble parfaitement faisable, mais je serai intéressé d'avoir les retours des autres développeurs.

Résumé

Pour aller dans le sens d'une identité plus allégée, on aurait donc:

  1. Permettre à l'utilisateur de participer sans être authentifié ("identités éphémères")
  2. Faciliter la gestion d'identités multiples
  3. Ne pas mettre en avant le vrai prénom et nom de famille

Ces trois points pourraaient faire l'objet d'issues séparées si nous sommes d'accord sur le concept.

Notes

srosset81 commented 4 years ago

Et une réflexion intéressante autour de ces questions : https://www.looic.com/2005/10/connaissez-vous-la-difference-entre-identification-et-authentification/

bouviermullerp commented 4 years ago

Je ne connaissais pas la différence entre les 2 concepts ident et auth. Ca me parait hyyyper intéressant et avec beaucoup de valeur ajouté. En terme de priorité, ça serait intéressant de connaitre la position de notre communauté pour déterminer à quel point c'est un besoin essentiel ou non pour eux. Pour les cdlt par exemple, nous n'aurons pas ce besoin expressement

simonLouvet commented 4 years ago

Techniquement ca me parait faisable également. J'ai par contre plus de doute sur l’utilité pour le projet. Il me parait par exemple plus important pour le projet de mettre en place les droits ACL, démontrer les bases de données distribuées, démontrer l’interopérabilité avec startin'blox, les web component Solid, GoGoCarto, Mnemotix....

srosset81 commented 4 years ago

Idée après discussion avec @simonLouvet:

Techniquement

Avantages

Problèmes pas encore réglés

Merge des comptes

Email comme moyen d'authentifier un utilisateur

ReX-AV-Gab commented 4 years ago

Voilà le scénario que j’imagine en tant qu’utilisateur pour la mise en œuvre de l’identité éphémère (par ex. Canard bleu) pour pouvoir participer sans être obligé de m'authentifier. Lors de la première utilisation de l’appli en question :

srosset81 commented 4 years ago

Suite à la réunion tech avec @simonLouvet aujourd'hui, deux idées sont apparues: