Ho preso in considerazione l'utilizzo di JWT per il mio REST-APi. L'utente deve accedere a / api / login con l'autenticazione di base e recupera un JWT che viene utilizzato per ulteriori richieste. All'inizio era previsto un tempo di vita molto lungo per il token.
Ora ci sono due problemi: 1. il JWT dovrebbe essere inserito nella blacklist / invalidato 2. i ruoli dell'utente possono cambiare. Il token non dovrebbe inviare vecchi ruoli.
Quindi la soluzione è usare JWT che scadono presto. Ma seriamente, se devo accedere a / api / login ogni volta, perché non uso l'autenticazione di base per tutto?
Naturalmente potrei anche codificare un servizio in background per il dispositivo che aggiorna il token ogni pochi minuti usando il vecchio token. Ma cosa succede se il servizio o il cliente REST è giù di un'ora? Tutti verrebbero scollegati. Inoltre, non desidero un processo in background che aggiorni sempre i token, anche se l'app è scollegata.
Quindi finirò con una query del database che recupera i ruoli dell'utente e controlla anche se il JWT non è nella lista nera a ogni richiesta. Quindi ci saranno differenze nell'uso delle normali chiavi API?