Ho creato uno strumento per il web che è principalmente per uso interno, ma alcuni dei nostri clienti ne faranno uso. Quando ho creato le parti di registrazione / login ho pensato a chi lo avrebbe usato e come lo avrebbero usato.
Spesso, ci sarà un account di proprietà di un cliente e l'account avrà molti utenti, che avranno vari livelli di accesso per fare cose.
Quando un nuovo utente deve essere aggiunto a un account esistente, c'è un problema. Vedo una situazione comune in molti altri strumenti in cui un amministratore che è già autenticato (connesso) avrà accesso a una sezione "crea nuovo utente" in cui è possibile impostare un nuovo utente, scegliere una password ecc. E passare le nuove credenziali sul nuovo utente. Questo apre più problemi di quelli che tengo a menzionare, ma sono sicuro che chiunque stia leggendo questo può pensare a molti.
Ho pensato alle seguenti alternative
-
L'amministratore crea il nuovo account utente e un'email viene inviata al nuovo utente che deve quindi utilizzare un link nell'email per impostare una password prima che l'account possa essere utilizzato. Mi piace questa idea, ma un errore di battitura nell'indirizzo email potrebbe dare a qualcun altro un accesso indesiderabile.
-
L'amministratore crea una chiave temporanea a tempo limitato che può fornire a un nuovo utente. Il nuovo utente inserisce quindi i propri dettagli in un modulo di registrazione insieme all'OTK, che autentica quell'utente come membro del cliente / account desiderato.
La seconda opzione sembra molto meglio, l'unica cosa che viene trasmessa in modo non sicuro è la chiave che è monouso e limitata nel tempo, e può essere corretta dall'amministratore se necessario, ma non ho visto questo metodo in uso da nessuna parte e mi chiedo perché.
Ci sono dei difetti con questo metodo che ho trascurato?
Quali altre opzioni non ho pensato?