Ğ1 SSO (OAuth) Connect

J’ai créé un provider OAuth permettant d’authentifier les utilisateurs d’un site au travers de leur wallet membre Ğecko, actuellement en place sur le forum ML : clients / connect · GitLab.

Le provider est en place sur https://connect.monnaie-libre.fr

En l’état, les inscriptions sur le forum ML sont donc réservées aux membres de la toile de confiance Ğ1.

Dans Gecko →

Les comptes du forum existants peuvent lier leur compte à leur identité Ğ1 via les paramètres de leur compte.

Le funnel vous informe entre autres que si le pseudo du forum diffère de celui de votre compte membre, celui du forum sera écrasé par celui de votre identité membre.

S’il y a conflit, cela vous invite à vous connecter à votre compte du forum, ou à envoyer un message au staff via un formulaire dédié.

Les administrateurs peuvent suivre l’état des liens d’identité.

Le champ adresse Ğ1 n’est plus éditable manuellement par les utilisateurs, et est configuré automatiquement lors du linkage.

Un badge informe publiquement lorsqu’un utilisateur a lié son identité.



Le repo contient des docs utiles que j’ai fait traduire en français et en anglais pour que ce soit accessible.

Hormis le protocole en lui-même, l’une des docs qui devrait le plus vous intéresser est celle qui explique comment intégrer cette fonctionnalité dans votre app wallet Ğ1 via le schéma deeplink g1://sso-login : docs/fr/WALLET-INTEGRATION.md · main · clients / connect · GitLab

Il vous faut impérativement Gecko desktop ou mobile v1.6.0 ou supérieur pour que ça fonctionne.

N’importe quelle app wallet Ğ1 peut intégrer cette fonctionnalité, Gecko est juste la première.

N’importe quel site compatible provider OAuth peut brancher ce provider, et voici la doc qui permet de le faire : docs/fr/SITE-INTEGRATION.md · main · clients / connect · GitLab


J’attends que Gecko v1.6.0 soit publié sur les stores Apple et Android avant d’expliquer ça sur l’autre forum.

Concernant les utilisateurs n’ayant pas encore de comptes membres, ils peuvent continuer de consulter librement le forum sans compte.

Le funnel d’inscription les invite à se rapprocher d’un groupe local, à lire la FAQ, rechercher des informations existantes, etc. Et je compte l’améliorer en ce sens.

En dernier recours, ils pourront envoyer un message dans une catégorie spéciale, mais sous approbation du staff uniquement. Ceci afin d’éviter le spam.

Workflow restant encore à préciser.

Mais au-delà de ça, d’autres espaces que ce forum pourront naître spontanément pour les utilisateurs non membres.


Comme les modérateurs du forum ML ont pu le constater hier, cette nouveauté laissera place dans la foulée a un changement de ligne éditoriale du forum, ainsi qu’a un rafraichissement de sa charte graphique.

J’ai transmis ce lien a @vjrj sur telegram, il a deja ajouté la messagerie a Ginkgo, ce matin c’est en version beta !

Salut @poka ,

J’ai une erreur 404 à cette adresse.

Tu as essayé juste en te déconnectant et déconnexion avec gecko ? Je n’ai pas souvenir d’avoir été sur le lien en question mais peut etre est ce celui de la connexion ?

OK tu te déconnectes et clic sur connexion

puis continuer avec Gecko

J’ai choisi ouvre gecko

Si ce n’est pas le compte membre, changer de compte ( mon portefeuille simple est en premier sur mon téléphone)

Et la connexion est établie avec badge sur le forum

Bon ben je n’ai plus qu’a faire un petit tuto sur l’autre forum :rofl:

connexion forum avec gecko.pdf (1,9 Mo)

Oui @Chiara07 a bien répondu, mais sinon c’est corrigé: https://connect.monnaie-libre.fr

Je ne comprends pas pourquoi Gecko ne demande pas de mot de passe… A quel moment du processus l’utilisateur donne une preuve de propriétaire du compte ?

Sinon sur desktop, s’authentifier en restant dans le navigateur avec un plugin me semble plus pratique.

Je ne comprends pas pourquoi tu dis que Ğecko ne demande pas de mot de passe.
Il le demande.
Si il ne le demande pas, c’est que tu as fait d’autres opérations dans ta session auparavant et que tu as choisi de garder en cache ton coffre déverrouillé pendant un temps définit.

C’est le message affiché dans la première capture d’écran :

Connectez-vous avec votre portefeuille Ğ1

Ouvrez Ğecko pour signer cette demande. Le forum ne verra jamais votre clé privée, et Ğecko ne vous demandera aucun mot de passe.

Je précise que je n’ai pas essayé la procédure, juste lu la proposition et la doc pour peut-être l’implémenter dans Tikka. Mais sur desktop, finalement, je vois pas trop l’intérêt par rapport au téléphone.

Ok c’est que la formulation n’est pas claire. Je parle ici du mot de passe sur le service tiers utilisé, par exemple le forum. Gecko ne demandera pas le mot de passe du forum, à reformuler, c’est vrai que ce n’est pas clair.

Concernant l’intéret sur desktop, si moi je le vois complètement. Je ne comprends pas cette remarque.
Tout ceux qui ont déjà Gecko d’installé en desktop peuvent y voir un intéret direct.
Tu clic, l’app desktop s’ouvre automatiquement, te prompt directement. C’est très pratique.

Ca peut être fait par une extension navigateur aussi, mais les 2 sont kiffe kiffe à l’usage, tu verra. Je te recommande de l’ajouter à Tikka, tu verra bien.

Après c’est super intéressant d’utiliser la G1 comme SSO, ça donnera des idées à d’autres

La première fois j’ai dû passer par gecko, ensuite id/mdp classique, puis re-gecko.
J’ai été un peu paumé à un moment

This is now supported in G1nkgo.

PS: It will be great to use it in git.duniter.org (among others) to add/comment issues. No technical people report issues and new requirements via telegram of this forum or DMs and it’s difficult to follow.

Salut !
Intéressant ce Ğ1 SSO, je me demande s’il serait intéressant de l’utiliser sur le site de petites annonces que je suis en train de faire https://jiyujin.g1.lu qui lui utilise soit l’extension Duniter Connect soit la phrase mnemotechnique ?
Comment cela se met en place ?
Vous pouvez-voir où j’en suis ici : [Proposition] Une plateforme de petites annonces simple, compatible Duniter V2 sondage d'intérêt avant de coder

Merci pour vos retours, amicalement :slight_smile:

Le principe de Duniter Connect et du SSO, est de ne pas donner son “secret” au site internet sur lequel on se connecte. Mais d’utiliser soit un plugin de confiance (duniter-connect) soit Gecko (et maintenant aussi G1ncko) qui sont local et de confiance, via un serveur SSO intermédiaire qui ne voit pas passer les “secrets”.

Le principe du SSO c’est de se connecter à un site internet en donnant les secrets d’un compte d’un autre site (par exemple se connecter sur ce forum via ton compte github ou google).

Ce qui veut dire que jiyujin ne doit JAMAIS (ô grand jamais) demander le mnémonique, c’est mal, c’est comme croiser les effluves (pour les boomers qui ont la rèf. :wink: ). Personne ne devrait donner son mnémonique à un site internet (rapport au phishing…).

Pour la mise en place, tout est expliqué dans le premier message du sujet (donne ça à ton IA et elle comprendra).

Merci pour ton retour.
Le site n’enregistre pas la phrase mnemotechnique sur le serveur, ni le navigateur, il faut la retaper à chaque fois.
Je vais voir avec @poka pour utiliser https://connect.monnaie-libre.fr comme provider car si j’ai bien compris, il faut qu’il enregistre Jiyujin.

Cela ne change rien au problème de sécurité que cela engendre. En cas de phishing c’est la catastrophe. C’est bien pour cela que l’on avait interdit l’entrée des credentials sur le site internet de Cesium. Et que l’on explique inlassablement aux utilisateurs de ne jamais donner leur credentials ou mnémoniques sur un site web.

Ton application ne doit jamais demander le mnémonique directement. Elle doit passer par duniter-connect ou le SSO.

Le problème n’est pas l’enregistrement mais le transfert par le réseau de ces information !
Duniter connect et SSO permettent de ne pas envoyé la phrase, mais un truc crypté je ne sais pas comment mais impiratable par la technique “man in the midle”.

Oui, j’ai bien compris, je suis en train de discuter avec mon IA pour supprimer cette fonctionalité et rajouter Ğ1 SSO comme moyen de connexion toute en conservant Duniter Connect pour les personnes “non membres vérifiés”…

foro.moneda-libre.org, and forum.monnaie-libre.fr, don’t allow ginkgo to use SSO

L’information qui circule est surtout signée avec la clef privée dans le logiciel ou plugin de confiance. Ainsi le site sait que l’utilisateur est bien celui qu’il prétend être pour la clef publique donnée. Les infos transitant sont déjà chiffrées en SSL comme pour tous les sites modernes.

J’ai supprimé la possibilité de se connecter avec la phrase mnémotechnique pour les raisons de sécurité que tu m’as indiqué.
Le Ğ1 SSO est en place et fonctionnel suivant mes tests et ceux de 3 utilisateurs.

Les tests étant concluant, le code est à jours sur le GitLab Duniter :