Uso de JWT para implementar la autenticación en la API web de Asp.net

He estado leyendo sobre JWT.

Pero por lo que leí, no es un mecanismo de autenticación, sino más bien un componente crucial en un mecanismo de autenticación.

Actualmente he implementado una solución que funciona, pero fue solo para probar JWT y ver cómo funciona. Pero lo que busco ahora es cómo uno debería usarlo. Desde mi experiencia, es básicamente un mecanismo de encriptación que le brinda una clave encriptada única. También puede poner información dentro de este token.

Quiero implementarlo en términos de una aplicación web ASP.NET 2 para ser consumida por una aplicación móvil.

Entonces paso 1:

aplicación => Servidor: Inicio de sesión (usuario, contraseña)Servidor => aplicación: Iniciar sesión OK, aquí está su JWTapp => server: Obtener mi perfil (envía JWT con solicitud) El servidor descifra JWT y determina la identidad de las solicitudes.

Ahora bien, esto es solo mi comprensión, Mira, podría estar en el camino totalmente equivocado.

¿Es el ideal de JWT para que no tenga que autenticarse en cada solicitud? ¿Acabo de autenticar las credenciales de los usuarios una vez (en el inicio de sesión inicial) y luego después de que el servidor simplemente puede usar JWT y no tiene que buscar los usuarios pw y user en la base de datos?

Solo quiero usar el JWT para identificar quién es el usuario. Luego autorizaré luego de haberlos autenticado. Como sé, hay una gran confusión con el nuevo MVC y la Autenticación y Autorización.

Entonces, ¿a qué se reduce mi pregunta?

¿Cómo puedo implementar de manera segura y efectiva un mecanismo de autenticación utilizando JWT? No quiero simplemente toser algo que parece funcionar y no tener ninguna idea de las implicaciones de seguridad. Estoy seguro de que existe una fuente en algún lugar que posiblemente ha diseñado un mecanismo seguro que se adapte a mis requisitos.

Mis requisitos son:

¿Solo debe verificar db para las credenciales de los usuarios una vez por sesión? Debido al uso de bcrypt que utiliza muchos recursos para comparar contraseñas.Debe poder identificar al usuario a partir de su solicitud. (Es decir, quiénes son, el ID de usuario será suficiente) y preferiblemente sin acceder también a la base de datosDebe tener la menor sobrecarga posible, con respecto a los recursos del lado del servidor que procesan la solicitud.Si un intruso tuvo que copiar la solicitud previa de un dispositivo, entonces no debería poder acceder a los datos reales de los usuarios. (obviamente)

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta