scribouilli icon indicating copy to clipboard operation
scribouilli copied to clipboard

🐜 Bouton pour se déconnecter

Open DavidBruant opened this issue 1 year ago • 8 comments

J'ai deux ami.es qui utilisent Scribouilli sur le même ordi, même navigateur avec des comptes github distincts et quand l'un.e est déjà connecté.e, l'autre ne peut pas accéder à ses sites scribouillis

Il nous faudrait un bouton pour se déconnecter

DavidBruant avatar Nov 09 '24 14:11 DavidBruant

Bonjour, je serai ravie de contribuer à la résolution de cette issue. Cela est-il toujours possible ?

LSCRSL avatar Mar 25 '25 23:03 LSCRSL

Salut @LSCRSL

Oui, carrément, merci beaucoup pour la proposition !

Si tu te sens d'y aller seule, tu peux te lancer et si tu ressens l'envie ou le besoin d'aide que ça soit pour naviguer dans le code ou comment résoudre que ça soit visuellement ou dans le code, tu peux demander, j'essaierai de répondre au plus vite (peut-être que pour la partie UX/visuelle, le regard de @maiwann sera pertinent)

DavidBruant avatar Mar 26 '25 08:03 DavidBruant

Bonjour,

J'ai ajouté le bouton de déconnexion qui nous fait revenir à la page de connexion. Le problème c'est que la connexion à Scribouilli dépend de notre connexion github ou gitlab. Il faut donc se déconnecter de notre compte github ou gitlab pour ensuite réussir à se connecter avec un autre compte. Je ne pense donc pas qu'un bouton de déconnexion soit nécessaire, qu'en pensez-vous ?

LSCRSL avatar Mar 26 '25 10:03 LSCRSL

Le problème c'est que la connexion à Scribouilli dépend de notre connexion github ou gitlab. Il faut donc se déconnecter de notre compte github ou gitlab pour ensuite réussir à se connecter avec un autre compte.

Oui, pour pouvoir pleinement se déconnecter depuis l'atelier, être rédirigé.e vers la page de connexion ne suffit pas

Je pense que pour pleinement pouvoir se déconnecter d'un compte github il faut révoquer le token et aussi le supprimer du localStorage dans l'atelier J'imagine qu'il existe un équivalent côté gitlab, mais je n'ai pas cherché

Et en lisant la doc de github et notamment

Basic authentication for "Delete an app token"

You must use Basic Authentication to use this endpoint. Use the application's client_id as the username and the client_secret as the password.

, je me dis qu'un changement à toctoctoc est peut-être nécessaire, parce que le client_secret y est stocké et, pour des raisons de sécurité, il ne doit pas en sortir

Je réalise en écrivant ça que ça fait un changement peut-être ambitieux pour une première contribution Et c'est ok pour moi, je peux être dispo pour aider tout le long Comment tu le sens, de ton côté ?

DavidBruant avatar Mar 26 '25 11:03 DavidBruant

J'aimerais y contribuer, je vais donc me renseigner. Je reviens vers vous dès que j'en sais plus !

LSCRSL avatar Mar 26 '25 12:03 LSCRSL

En tant que personne qui a écrit le plus gros de la doc de Scribouilli et toctoctoc, je ressens pas mal de culpabilité de l'état de la doc Je peux répondre à toutes les questions que vous aurez s'il manque des informations Je peux produire de la documentation supplémentaire (commentaires dans le code, diagrammes d'architectures, explications, etc.)

Si pertinent, je peux aussi me rendre dispo pour une visio

DavidBruant avatar Mar 26 '25 20:03 DavidBruant

Bonjour,

Excusez-moi pour ma réponse plus que tardive. Je pense avoir compris ce que je dois faire, j'ai cherché s'il y avait un fichier qui s'occupait de la gestion de l'état de ce token (par exemple : un store.js) mais je ne l'ai pas trouvé. Est-ce qu'il se situe plutôt dans toctoctoc comme vous l'avez préconisé? Sinon, je me dis que je pourrai essayer de révoquer le token dans assets/scripts/actions/setup.js mais selon moi ça ne sera pas propre et je ne suis même pas certaine que cela fonctionnera, surtout que je n'aurai pas accès au client_secret. Qu'en pensez-vous ?

LSCRSL avatar Apr 06 '25 20:04 LSCRSL

Bonjour,

Aucun problème sur le délai de réponse ; je n'ai aucune attente à ce sujet. Je ressens de la gratitude que vous soyez motiv' à ce point 🙏

Sinon, je me dis que je pourrai essayer de révoquer le token dans assets/scripts/actions/setup.js mais selon moi ça ne sera pas propre et je ne suis même pas certaine que cela fonctionnera, surtout que je n'aurai pas accès au client_secret

Oui, voilà, c'est exactement ça, il manquera le client_secret côté Scribouilli pour pouvoir révoquer le token

J'ai fait une issue côté toctoctoc pour faire le travail de ce côté : https://github.com/Scribouilli/toctoctoc/issues/17 On peut ptèt continuer la discussion sur l'issue là-bas

Quand ce travail sera fini, le morceau de Scribouilli qui manquera sera de faire un bouton et d'appeler cet endpoint avec l'access_token à révoquer (et ptèt le client_id ? Chaipa, on verra bien)

DavidBruant avatar Apr 07 '25 08:04 DavidBruant