Open srosset81 opened 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/
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
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....
Idée après discussion avec @simonLouvet:
POST /identity
qui crée une nouvelle identité
webId
crééGET /auth
en ayant déjà une identité éphémère, l'endpoint ne crée plus un WebID mais il se contente de mettre à jour ce WebID avec les informations retournées par le SSO (email, nom, nom de famille).webId
en data. Ce token peut donc être copié-collé par l'utilisateur pour se reconnecter plus tard.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 :
Suite à la réunion tech avec @simonLouvet aujourd'hui, deux idées sont apparues:
Pour la génération des noms éphémères uniques, développer un package indépendant type name-generator
, permettant d'ajouter un endpoint qui retourne un nom unique.
Pour le problème "Merge des comptes" (voir commentaire ci-dessus), on pourrait permettre simplement de gérer plusieurs identités. Dans le scénario qui pose problème, l'utilisateur aurait deux WebID liés à son compte SSO. Lorsqu'il s'authentifie, on lui demande quel identité il veut utiliser. La gestion de plusieurs identités est fondamentalement intéressante, c'est en tout cas ce que Framasoft a voulu proposer avec Mobilizon. Il faudra aussi prévoir la possibilité de supprimer une identité.
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:
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:
Ces trois points pourraaient faire l'objet d'issues séparées si nous sommes d'accord sur le concept.
Notes