Red de conocimiento informático - Espacio del host - Enseñarle AspNetCore WebApi: autenticación y autorización

Enseñarle AspNetCore WebApi: autenticación y autorización

En los últimos días, Xiao Ming volvió a tener problemas. La interfaz que se le dio a Xiao Hong antes no estaba autenticada ni autorizada, por lo que pudo correr desnudo. Boss Ma lo descubrió y lo regañó severamente. Rápidamente le pidió a Xiao Ming que agregara autorización superior. Busqué rápidamente en Baidu y descubrí que todos usan la autenticación y autorización JWT, lo cual es muy adecuado para mí.

El token es una cadena de caracteres generada por el servidor como el token solicitado por el cliente. Al iniciar sesión por primera vez, el servidor genera un token y lo devuelve al cliente. necesita traer Este token se puede usar para solicitar datos y no es necesario traer un nombre de usuario y contraseña.

Json Web Token (JWT) es un estándar abierto (RFC 7519) basado en JSON para pasar declaraciones entre aplicaciones web. Las reclamaciones JWT se utilizan normalmente para pasar información de identidad de usuario autenticado entre proveedores de identidad y proveedores de servicios para acceder a recursos desde servidores de recursos y para agregar reclamaciones adicionales necesarias para otra lógica empresarial. También se pueden utilizar directamente para la autenticación o cifrarla.

En el diagrama, puede ver que hay dos componentes principales: 1) obtener el token y 2) autorizar a través del token.

Primero, instale el paquete JwtBearer.

A continuación, defina una clase de configuración. Para simplificar, la reemplazaré con una constante. También puede colocarla en el archivo de configuración.

A continuación, defina un controlador para obtener un token basado en el nombre de usuario y la contraseña.

A continuación, agregue la verificación del token (Startup.ConfigureServices) en el contenedor.

A continuación, agregue autenticación (Startup.Configure) en el middleware.

A continuación, agregue [Autorizar] al controlador que requiere control de autorización.

Finalmente, probaremos la interfaz de la siguiente manera.

Debido a que la autenticación falló, se devolverá un 401, indicando que la autenticación es válida.

A continuación accedemos a la interfaz GetAccessToken, obtenemos el token y lo colocamos en la interfaz GetTodo. Podemos ver que el acceso es exitoso.

En este punto, Xiao Ming ha completado la verificación de autorización, informe a Boss Ma rápidamente. Por supuesto, esta autenticación de autorización sigue siendo muy simple y todavía hay muchas cosas esperando que los amigos exploren, como cómo actualizar automáticamente el Token, cómo forzar la caducidad del Token, otros métodos de implementación de OAuth, etc. Si estás interesado, deja que Xiao Ming te lo cuente la próxima vez.