La WOT est une base d'authentification idéale!

Ce serait pas mal d’offrir à des applications tierces la possibilité de s’en servir?
Une interface oAuth ou du genre qui assure le même service que https://franceconnect.gouv.fr/ (ou GRObook, GROgle, etc…

Qui aurait de l’expertise sur le SSO (single sign on)?

4 Likes

Mais c’est déjà possible, c’est ce que je viens d’implémenter dans le ĞMixer : chaque serveur a une clé publique qui doit être signée par une clé membre, et les nœuds peuvent ou non (au choix) n’accepter de se connecter qu’aux nœuds identifiés.

Je le fais avec Duniterpy, en demandant à la volée à un nœud BMA les infos sur la clé publique à vérifier.

2 Likes

Bien mais ce n’est pas encore utilisable par d’autres services?

Je m’imagine arriver à coupler IPFS avec la Ḡ1 pour mettre au point de nouveaux services comme celui de MetaMask:

ou maestroproject qu’aurait choisi soundcloud…

Si, c’est utilisable par ce qu’on veut. Il faut faire une requête HTTP à un nœud Duniter public avec la clé publique de l’utilisateur, et on peut obtenir son statut de membre. En effet il faudrait une bibliothèque JS pour faire ça plus proprement mais c’est déjà faisable.

Par contre niveau sécurité je n’aimerais pas trop entrer mes identifiants partout, il serait plus sûr d’utiliser une clé publique non membre et un document contenant la clé non membre signé par la clé membre. Le document aurait une durée de validité assez courte, ce qui limiterait le risque en cas de vol d’identifiants.

Edit: Le plus pratique c’est que ça éviterait tout stockage centralisé des données utilisateur : le client chiffrerait ses données avec sa clé et les enverrait sur une DHT comme IPFS. so web 3.0 :sunglasses:

8 Likes

Tu as raison. Comme un portefeuille créé par le membre qui servirait pour ça… :heart:

2 Likes

il faut un Oauth sur un serveur SSL. OAuth agit comme tiers de confiance. sont role est d’authentifier un utilisateur et dire dire a un site si ce user est connecté.

Pour cela OAuth peux envoyer un challenge au user, il lui faut simplement stocker la liste des membres a l’instant T.

La difficulté sera surtout de respecter la spec OAuth et de payer pour le serveur SSL

1 Like

Que pensez-vous de ça?

C’est sécu de signer avec la clé publique ? Et une lib js serait du bonheur !

Oui OAuth c’est la base si on veut pouvoir utiliser passport.js ou autre. Je conseil aussi les Json Web Token (jwt.io), c’est encore plus portable et très utilisé dans les systèmes en micro-service et site dynamique (spa, headless…) ! Une fois signé, ta clé jwt peut-être utilisé pour n’importe quel services pour t’authentifier sans se référer au serveur d’authentification…
Auth0 de @Frederic_Renault fait aussi du jwt, c’est un service gratuit si tu veux vite fait un service d’authentification, mais c’est payant au bout d’un certain nombre d’users…

todo peut-être regarder du côté W3C avec l’api WebAuthn ?

1 Like

Non, d’ailleurs c’est impossible. (on signe avec la clé privée, on chiffre avec la clé publique) Je parlais de BMA. La requête étant HTTP GET et la réponse en JSON, on peut déjà utiliser BMA avec le JS natif.

1 Like