Supporto per l'accesso senza password con Passkeys

:wave: Sono Thomas Cannon, uno dei principali manutentori per l’organizzazione Ruby passkeys!

Sono state create alcune librerie per aiutare in questo, ma abbiamo disperatamente bisogno di manutentori. Alcuni link pertinenti di seguito:

Vogliamo assolutamente aiutare il più possibile; e unire le risorse per rendere le passkeys lo standard in tutto l’ecosistema Ruby :flexed_biceps:

8 Mi Piace

Ciao Thomas,

Discourse viene fornito con il proprio sistema di autenticazione integrato direttamente su webauthn per l’autenticazione a due fattori (2FA). Penso che l’unica grande lacuna che abbiamo ora sia che non consentiamo alla 2FA di essere l’unico fattore (opzionalmente).

Ho notato che anche Google è completamente a bordo ora (da ieri), Passkeys: What they are and how to use them

Spero di rendere questa un’opzione anche per Discourse, odio davvero le password e la 2FA + sfida solo per me mi sembra intrinsecamente migliore della password, di sicuro.

7 Mi Piace

Fantastico! Qual è il modo migliore in cui potrei aiutare?

2 Mi Piace

Difficile, dipende da quanto a fondo vuoi andare nella tana del coniglio. Una PR prototipo che aggiunge un’impostazione del sito sarebbe deliziosa, ma capisco perfettamente che questo possa essere un impegno di tempo piuttosto grande.

2 Mi Piace

Posso provare! Non prometto nulla, quindi se qualcuno vuole battermi a pranzo, si faccia avanti!

5 Mi Piace

Un rapido aggiornamento: il supporto per le passkey in Discourse arriverà presto. Ci ho lavorato nelle ultime settimane e abbiamo un paio di PR in bozza pronti. Vedi #23586, #23587 e #23591.

Penso che tra circa 3-4 settimane saremo in grado di unire questo (dietro un’impostazione del sito disattivata per impostazione predefinita). E se concediamo qualche settimana in più per test e correzione di bug, sospetto che saremo in grado di avere questo stato pronto per la produzione in circa due mesi. Resta sintonizzato!

10 Mi Piace

Ciao! C’è qualcosa di nuovo da dire sulle passkey in Discourse?

2 Mi Piace

Sembra che l’ultima PR per questo sia stata unita una settimana fa, e il nome dell’impostazione del sito sembra essere attualmente experimental_passkeys (attualmente un’impostazione nascosta).

1 Mi Piace

Ho appena abilitato l’impostazione del sito e aggiunto una passkey al mio account su un forum che gestisco, e sembra funzionare perfettamente. Per abilitarla in anticipo su un sito, questo dovrebbe funzionare:

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

Una volta abilitata, sembra che tu debba solo aprire https://forum.example.com/my/preferences/security e aggiungere una passkey, quindi disconnetterti e utilizzare l’opzione Accedi con una passkey per effettuare nuovamente l’accesso.

3 Mi Piace

Ehi gente, sì, abbiamo unito alcune PR che aggiungono il supporto per le passkey e le stiamo già testando internamente.

I passaggi sopra sono corretti, se desideri essere un tester molto, molto precoce della funzionalità. Stiamo ancora perfezionando alcune cose, tuttavia, un aggiornamento/annuncio ufficiale è in arrivo.

9 Mi Piace

Un’altra novità prima di fare un annuncio ufficiale: le passkey sono ora abilitate qui su meta. Provale e segnala eventuali problemi rispondendo in questo topic.

Il nostro piano è di continuare a testare la funzionalità per un’altra settimana circa sotto il flag sperimentale. Quindi le annunceremo ufficialmente e rimuoveremo l’impostazione sperimentale del sito (ovvero, il supporto per le passkey sarà abilitato per impostazione predefinita su tutte le istanze che utilizzano accessi locali).

7 Mi Piace

L’ho testato su Desktop (Windows 11, Chrome) e funziona perfettamente! :+1:

Ho dovuto premere Invia email di reimpostazione password per confermare la mia identità perché di solito accedo con Google, quindi non conosco la mia password. :sweat_smile:


L’ho testato su Android (10) e Chrome/App. Funziona bene, tuttavia:

  • Toccare l’input attiva la modale della passkey.
    • Ignorandola e toccando di nuovo l’input mi permette di scrivere
  • Toccare il pulsante non fa nulla (oltre a selezionarlo e chiudere la tastiera)


(yay, è scattoso, non so perché)

5 Mi Piace

Grazie per la segnalazione @Arkshine, avevo dimenticato di includere una piccola modifica nel componente mobile in un commit due giorni fa. Un errore piuttosto imbarazzante, il pulsante non faceva nulla su tutti i dispositivi mobili.

Comunque, ora è stato risolto, l’ho appena testato sul mio Android e dovrebbe funzionare anche per te.

2 Mi Piace

Sì, ora funziona, grazie! :smile:

2 Mi Piace

Sembra che un sistema ChromeOS non possa essere utilizzato come passkey con Discourse (anche se può essere utilizzato come tale con altri siti web), è intenzionale?

Non lo stiamo bloccando specificamente, no. Cos’è esattamente un “sistema chromeos”, è Chrome su ChromeOS? Puoi condividere la versione del browser e del sistema operativo?

Sì.

Certo.
Da chrome://version:

Chiave Valore
Google Chrome 118.0.5993.86 (Build ufficiale) (64 bit)
Revisione d9a55e23605b9c433d369a305c71114843ec754d-refs/branch-heads/5993@{#1287}
Piattaforma 15604.45.0 (Build ufficiale) canale stabile 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

Sono informazioni sufficienti?

Ecco cosa succede quando provo ad aggiungere una passkey usando questo computer (scelgo l’opzione “Questo dispositivo” nel primo menu):


1 Mi Piace

Ah, interessante, grazie per lo screenshot. Sospetto che il dispositivo non supporti la verifica dell’utente? Puoi usare touch/faceId o un PIN per sbloccare il dispositivo?

Secondo questa pagina, sembra che il supporto per Chrome OS sia discontinuo.

1 Mi Piace

Penso di sì.

Uso una password. Potrebbe valere la pena notare che posso aggiungere questo dispositivo come metodo 2FA a un account utilizzando webauthn, ma non posso aggiungerlo come passkey.

1 Mi Piace