Durante la discussione delle alternative per chiedere al browser di ricordare la password, un tizio ha suggerito di utilizzare un bookmarklet per memorizzare le credenziali degli utenti. La risposta originale è in portoghese, ma tradurrò qui il protocollo che ha utilizzato:
-
L'utente, quando ha effettuato l'accesso, ha accesso a un bookmarklet [link] con un token univoco
-
Può trascinare quel bookmarklet normalmente nella barra dei collegamenti o nei segnalibri
-
Quando fai clic su quel bookmarklet, il token viene memorizzato nella proprietà
window.name
e viene caricato un URL -
Questo URL contiene un JS con un altro token univoco
-
Il JS unisce entrambi i token e crea un hash [autenticazione]
-
L'utente viene reindirizzato a un altro URL con l'hash come argomento
Un po 'più complicato del necessario IMHO, ma l'idea di base era salvare le credenziali nella barra dei preferiti, in modo che l'utente potesse caricare il sito e accedere automaticamente solo facendo clic su un singolo link.
Sto cercando di comprendere le implicazioni di tale pratica. Suppongo che sia sicuro contro XSS almeno (dal momento che il codice JavaScript non può accedere alla barra dei preferiti con qualsiasi mezzo AFAIK). E rispetto alle password memorizzate nel browser, non sembra troppo lontano (entrambi consentirebbero a un'altra persona con accesso fisico alla macchina di accedere facilmente all'utente). A meno che non ci sia qualcos'altro che sto trascurando ...
Informazioni aggiuntive: Il mio intento originale era quello di conservare (non necessariamente conservare) nel browser alcuni dati che nemmeno il server può accedere (ad esempio una chiave di crittografia lato client). Questo dettaglio è importante, altrimenti questo scenario non sarebbe diverso da una funzione "Ricordami" . Ma per favore non concentrarti troppo sulle specifiche (ne ho discusso a lungo sia in questo sito che altrove), solo su ciò che è stato chiesto.
In altre parole, supponiamo che il mio modello di thread ponga maggiore enfasi sulla riservatezza dei dati nel cloud e meno sul computer client dell'utente (ad esempio, qualcuno con accesso locale che vede la password non è un problema, ma una vulnerabilità XSS che perde sarebbe). E la facilità d'uso è un requisito, altrimenti nessuno utilizzerà il mio sistema (alternative più sicure come usare un gestore di password o un'estensione del browser che interagisce con PGP o anche - in futuro - l'API WebCrypto sarà offerta agli utenti più attenti alla sicurezza, ma non richiesto , ho posto la domanda per capire meglio le implicazioni dell'uso dei bookmarklet / la barra dei preferiti, non di basare la mia intera decisione su di essa da sola).