Dobbiamo implementare un'autenticazione per gli utenti da un sistema all'altro. In precedenza stavamo usando OAuth (l'utente inserisce nome utente / password e sistema ottiene una chiave di accesso temporanea e una chiave di aggiornamento costante per aggiornare la chiave di accesso), ma ora abbiamo deciso di migliorare la sicurezza e smettere di usare questo sistema perché la chiave di aggiornamento è costante. Stiamo cercando un modo che non richieda la memorizzazione di alcuna chiave costante per evitare una situazione in cui qualcuno ruba la chiave e ottiene l'accesso al sistema per sempre senza che noi abbiamo un modo per conoscerlo e cambiare la chiave.
Una soluzione semplice consiste nell'aggiornare la chiave di aggiornamento ogni periodo di tempo definito richiedendo all'utente di effettuare nuovamente il login. Ma il nostro cliente vuole che gli utenti si colleghino solo una volta e non dovrebbero avere più "problemi" con l'autenticazione dopo.
Questa situazione sembra escludersi a vicenda - il sistema non dovrebbe avere una chiave costante ma dovrebbe consentire un accesso costante. C'è un modo per combinare i due?