# G1Compagnon - Mode Discourse
## Préambule
Le plugin navigateur g1compagnon permet de s'authentifier à votre forum Discourse avec vos clés junes.
## Fonctionnement général de g1compagnons pour login web
Il est nécessaire de réimplémenter Jaklis (python) dans g1lib (javascript).
- Création de clés junes (g1lib)
- Generation de mnemonic (BIP32)
- Champ email (optionnel, mais indispensable pour les logins website)
- Login avec Salt+Password ou Mnemonic (BIP32)
- Récupération des données Cs+ à partir de la clé publique (jaklis dans g1lib)
## Usercase 1: Nouveau forum et déjà un compte june
- Création d'un compte Discourse grâce à l'API avec login mail
- Le mot de passe doit être généré à partir des éléments privés de la clé:
- Nonce
- Partie de la clé privé
- Protocole standardisé type Lesspass
- Transmission des données Cs+ vers les champs de profiles utilisateurs Discourse:
- pseudo
- Photo
- Descriptions
- Liens réseaux sociaux
- ect ...
- Login au compte via l'api discourse (depuis g1compagnon)
## Usercase 2: Nouveau forum et pas de compte june (onboarding)
Génération d'un portefeuille via g1compagnon avec champs mail obligatoire + Usercase 1
## Usercase 3: Forum existant, pas de mail inscrit sur le forum (pas de match)
## Usercase 4: Forum existant, inscrit au forum de manière classique, et login en june
Simplement modifier le mot de passe existant, et informer correctement l'utilisateur
TODO:
poka:
- Implémenter les fonctions indispensables de Jaklis en Javascript dans g1lib
manu:
- Quasar (vuejs) pour faire l'extension web
- Intégrer g1lib dans Quasar
- Formulaire login + mdp Cs
- Générer la clé publique de ce login et l'afficher
https://meta.discourse.org/t/discourseconnect-official-single-sign-on-for-discourse-sso/13045