Ho un'applicazione sviluppata utilizzando Reagire in front-end e ASP.Net Web API nel backend. Sto usando JWT per l'autorizzazione. Il processo è
- Quando un utente si connette e si è autenticato, 2 gettoni vengono inviati al front-end, token di accesso e di aggiornamento token. Un token di accesso è la JWT e aggiorna il token è una stringa casuale e un refresh token viene memorizzato in un database.
- Per ogni chiamata successiva Api token di accesso è collegato in intestazione, ho un filtro di autenticazione che convalida il token di accesso.
- Una volta che il token di accesso è scaduto, stato 401 è gettato con il messaggio di errore TokenExpired.
- Una volta che il front-end riceve 401, chiama il refresh token API per ottenere il refresh token
Il dubbio che ho è che non posso avere un filtro di autenticazione per convalidare il token di accesso di refresh token API getterà 401 a causa scaduto token di accesso, quindi ho bisogno di fare il refresh token API anonima in modo da non colpire il filtro di autenticazione. Se faccio anonimo io sto facendo una chiamata al database per ottenere il refresh token memorizzati per l'utente e di confrontarla con quella che ho ricevuto dal front-end. Così è sicuro di fare il refresh token API anonima, se non qual è il modo migliore?