Prise en charge de la connexion sans mot de passe avec Passkeys

:wave: Thomas Cannon ici, l’un des principaux mainteneurs de l’organisation Ruby passkeys !

Il existe des bibliothèques qui ont été mises en place pour aider à cela, mais nous avons désespérément besoin de mainteneurs. Quelques liens pertinents ci-dessous :

Nous voulons absolument aider autant que possible ; et mutualiser les ressources pour faire des passkeys la norme dans tout l’écosystème Ruby :flexed_biceps:

8 « J'aime »

Salut Thomas,

Discourse est livré avec son propre système d’authentification intégré directement à webauthn pour la 2FA. Je pense que le seul grand manque que nous ayons maintenant est que nous n’autorisons pas la 2FA à être le seul facteur (facultativement).

J’ai remarqué que Google est également entièrement engagé maintenant (depuis hier), Passkeys: What they are and how to use them

J’espère vraiment faire de cela une option pour Discourse également, je déteste vraiment les mots de passe et la 2FA + défi uniquement me semble intrinsèquement meilleure que le mot de passe, c’est sûr.

7 « J'aime »

Génial ! Quelle est la meilleure façon dont je pourrais aider ?

2 « J'aime »

Délicat, cela dépend de la profondeur à laquelle vous voulez aller dans le terrier du lapin. Une PR prototype qui ajoute un paramètre de site serait idéale, mais je comprends tout à fait que cela puisse représenter un engagement de temps considérable.

2 « J'aime »

Je peux essayer ! Aucune promesse, donc si quelqu’un veut me battre pour le déjeuner, allez-y !

5 « J'aime »

Une mise à jour rapide : la prise en charge des passkeys dans Discourse arrive bientôt. J’ai travaillé sur cela au cours des dernières semaines et nous avons quelques brouillons de PR prêts. Voir #23586, #23587 et #23591.

Je pense que dans environ 3-4 semaines, nous devrions être en mesure de fusionner cela (derrière un paramètre de site désactivé par défaut). Et si nous accordons quelques semaines supplémentaires pour les tests et la correction des bugs, je soupçonne que nous pourrons avoir cet état prêt pour la production dans environ deux mois. Restez à l’écoute !

10 « J'aime »

Salut ! Y a-t-il quelque chose de nouveau à dire sur les passkeys dans Discourse ?

2 « J'aime »

Il semble que le PR final pour cela ait été fusionné il y a une semaine, et que le nom du paramètre du site semble actuellement être experimental_passkeys (actuellement un paramètre caché).

1 « J'aime »

J’ai juste activé le paramètre du site et ajouté une clé d’accès à mon compte sur un forum que j’administre, et cela semble fonctionner parfaitement. Pour l’activer tôt sur un site, cela devrait fonctionner :

cd /var/discourse
./launcher enter app
rails c
SiteSetting.experimental_passkeys=true

Une fois activé, il semble qu’il suffise d’ouvrir https://forum.example.com/my/preferences/security et d’ajouter une clé d’accès, puis de se déconnecter et d’utiliser l’option Se connecter avec une clé d'accès pour se reconnecter.

3 « J'aime »

Salut tout le monde, oui, nous avons fusionné quelques PR ajoutant la prise en charge des passkeys et nous les testons déjà en interne.

Les étapes ci-dessus sont correctes si vous souhaitez tester la fonctionnalité très, très tôt. Nous sommes encore en train d’affiner quelques détails, mais une mise à jour/annonce officielle arrive bientôt.

9 « J'aime »

Une autre mise à jour ici avant de faire une annonce officielle : les passkeys sont maintenant activées ici sur meta. Veuillez les essayer et signaler tout problème en répondant dans ce sujet.

Notre plan est de continuer à tester la fonctionnalité pendant encore une semaine environ sous le drapeau expérimental. Ensuite, nous les annoncerons officiellement et supprimerons le paramètre expérimental du site (c’est-à-dire que la prise en charge des passkeys sera activée par défaut sur toutes les instances utilisant des connexions locales).

7 « J'aime »

Je l’ai testé sur ordinateur (Windows 11, Chrome) et ça fonctionne parfaitement ! :+1:

J’ai dû appuyer sur Envoyer un e-mail de réinitialisation de mot de passe pour confirmer mon identité car je me connecte habituellement avec Google, donc je ne connais pas mon mot de passe. :sweat_smile:


J’ai testé sur Android (10) et Chrome/App. Ça fonctionne bien, cependant :

  • Toucher l’entrée déclenche la modale de clé d’accès.
    • Ignorer et toucher à nouveau l’entrée me permet de taper
  • Toucher le bouton ne fait rien (à part le sélectionner et fermer le clavier)


(oui, c’est saccadé, je ne sais pas pourquoi)

5 « J'aime »

Merci pour le rapport @Arkshine, j’avais oublié d’inclure un petit changement dans le composant mobile dans un commit il y a deux jours. Une erreur un peu embarrassante, le bouton ne faisait rien sur tous les appareils mobiles.

Quoi qu’il en soit, c’est corrigé maintenant, je viens de tester sur mon Android, et cela devrait aussi fonctionner pour vous.

2 « J'aime »

Oui, ça marche maintenant, merci ! :smile:

2 « J'aime »

Il semble qu’un système ChromeOS ne puisse pas être utilisé comme clé d’accès avec Discourse (bien qu’il puisse l’être avec d’autres sites Web), est-ce intentionnel ?

Nous ne le bloquons pas spécifiquement, non. Qu’est-ce qu’un « système ChromeOS » exactement, est-ce Chrome sur ChromeOS ? Pouvez-vous partager la version du navigateur et du système d’exploitation ?

Oui.

Bien sûr.
Depuis chrome://version :

Clé Valeur
Google Chrome 118.0.5993.86 (Official Build) (64-bit)
Revision d9a55e23605b9c433d369a305c71114843ec754d-refs/branch-heads/5993@{#1287}
Platform 15604.45.0 (Official Build) stable-channel octopus
User Agent Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36

Est-ce suffisant comme information ?

Voici ce qui se passe lorsque j’essaie d’ajouter une clé d’accès à l’aide de cet ordinateur (je choisis l’option « Cet appareil » dans le premier menu) :


1 « J'aime »

Ah, intéressant, merci pour la capture d’écran. Je soupçonne que l’appareil ne prend pas en charge la vérification de l’utilisateur ? Pouvez-vous utiliser touch/faceId ou un code PIN pour déverrouiller l’appareil ?

Selon cette page, il semble que la prise en charge de Chrome OS soit inégale.

1 « J'aime »

Je pense que oui.

J’utilise un mot de passe. Il est peut-être utile de noter que je peux ajouter cet appareil comme méthode 2FA à un compte en utilisant webauthn, je ne peux juste pas l’ajouter comme passkey.

1 « J'aime »