ID Discourse e 2FA

Il modo standard per farlo è tramite OIDC. Discourse ID è attualmente costruito solo con OAuth2. Per supportare un flag MFA, dovremmo implementare OIDC a livello del provider e scambiare i valori MFA con i client che lo richiedono.

Ci sono diverse complicazioni:

  • nel nucleo di Discourse, abbiamo l’opzione di richiedere l’autenticazione a due fattori (2FA) solo per determinati tipi di utenti (personale o tutti); probabilmente dovremmo supportare qualcosa di simile tramite ID
  • ID consente accessi tramite Google/Apple/Facebook/Github, ma questi non indicano in modo affidabile se l’utente abbia completato il 2FA durante l’accesso… potremmo dover implementare il 2FA a livello di ID e, molto probabilmente, richiedere un doppio 2FA ad alcuni utenti, il che non è ideale
  • è sufficiente che il 2FA sia gestito a livello del provider di identità (cioè non sull’istanza locale) per tutti i consumatori? In generale, penso di sì, ma dovremmo fare ulteriori ricerche prima di impegnarci in questa direzione