Consideré utilizar JWT para mi REST-APi. El usuario debe iniciar sesión en / api / login con autenticación básica y recupera un JWT que se utiliza para futuras solicitudes. Al principio se planeó tener una vida útil muy larga para el token.
Ahora hay dos problemas: 1. El JWT debe estar en la lista negra / invalidado 2. Los roles del usuario pueden cambiar. El token no debe enviar roles antiguos.
Por lo tanto, la solución es usar JWT que caduquen antes. Pero en serio, si tengo que iniciar sesión en / api / login cada vez, ¿por qué no uso la autenticación básica para todo?
Por supuesto, también podría codificar un servicio en segundo plano para el dispositivo que actualiza el token cada pocos minutos utilizando el token antiguo. Pero, ¿qué pasa si el servicio o cliente REST se ha caído una hora? Todos estarían desconectados. Además, no quiero un trabajo en segundo plano que siempre actualice tokens, incluso si la aplicación está desconectada.
Por lo tanto, terminaré con una consulta de base de datos que recupera los roles del usuario y también verifica si el JWT no está en la lista negra en cada solicitud. ¿Habrá alguna diferencia en el uso de las claves API normales?