Domanda

Ho installato una semplice applicazione web in cui gli amministratori possono creare utenti. Gli utenti non si creano. Tutto ciò che un amministratore deve fare è inserire un nome utente e un'e-mail e una password temporanea viene inviata all'utente per consentire l'accesso. Questa e-mail viene inviata in formato testo normale. Se l'utente accede per la prima volta, è necessario modificare la password e inserire una domanda e una risposta di sicurezza. L'utente ovviamente deve conoscere la propria password temporanea per accedere per la prima volta e questo è l'unico modo che conosco per farglielo sapere (tramite e-mail). L'altra opzione sarebbe quella di chiedere all'amministratore di chiamare l'utente e comunicargli telefonicamente o di persona la sua password temporanea, ma ciò non è pratico. Come potrei gestire una situazione come questa?

È stato utile?

Soluzione

In genere utilizzo un URL temporaneo basato su un record di invito sul back-end. In sostanza, crei un record di invito e generi un hash basato su alcune informazioni, ad esempio l'indirizzo e-mail dell'utente, un timestamp e un valore casuale. Memorizza l'hash come parte del record di invito e quindi invia loro un URL con l'hash come parametro.

Quando fanno clic sul collegamento cerca l'invito e convalidano che esiste e non è stato utilizzato, quindi consenti loro di impostare la password e invalidare l'invito.

Elimina la necessità di inviare qualsiasi tipo di password e, se lo desideri, puoi impostare una scadenza sui record di invito.

Altri suggerimenti

Lo scenario che descrivi è molto comune: inviare una password temporanea tramite posta elettronica e richiederne la modifica al primo accesso. A meno che tu non abbia un problema specifico con questo modello, non vedo alcun motivo per non usarlo. Avere una chiamata da amministratore può essere complicato, lo eviterei a tutti i costi.

Puoi generare un URL personalizzato con una password e un hash dell'utente come argomento in cui l'utente deve registrarsi. L'hash sarà difficile da recuperare se l'attaccante non ha le informazioni

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top