Servicio login de usuario KLU

Descarga el proyecto

https://github.com/resback/KlutUsuariosService

Dependencias

el proyecto ya tiene las dependencias, se puede probar compilando y validar, si no las instalamos:

dotnet add package Microsoft.EntityFrameworkCore --version 8.0.8
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 8.0.8
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 8.0.8
dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer --version 8.0.8
dotnet add package Swashbuckle.AspNetCore --version 6.6.2

Cadena de conexión en appsettings.json

Validamos la cadena de conexión, el proyecto tiene Win Auth (Integrated Security) por defecto para no especificar usuarios

Ejemplo:

  "ConnectionStrings": {
    "SqlServer": "Server=.\\SQLEXPRESS;Database=KlutUsuariosService;Integrated Security=True;Trust Server Certificate=true"
  },

Migraciones y DB

La migración inicial ya esta en el proyecto, por cualquier cosa:

Add-Migration Inicial

Actualización de la BD, ejecutamos:

Update-Database

Compilamos y Ejecutamos

Y navegamos la url:

https://localhost:7175/swagger/index.html

Creación de usuario

Creamos un usuario con datos demo

Probando login erróneo

Ingresamos datos que no existen

Login éxitoso

Ingresamos datos correctos

Bloqueo de inicio de sesión

Se validan los intentos de inicio de sesión y se realizan 3 intentos erróneos

Respuesta después de 3 intentos con password erróneo:

Se valida los inicios de sesión y se confirman los 3 intentos erróneos:

/ Script for SelectTopNRows command from SSMS /
SELECT TOP (1000) [Id]
,[UsuarioId]
,[Fecha]
,[Exitoso]
,[Ip]
,[UserAgent]
FROM [KlutUsuariosService].[dbo].[IniciosSesion]

Aún ingresando el password correcto, sigue mostrando el mismo mensaje de bloqueo

Validar sesión y endpoints seguros

https://localhost:7175/api/usuarios/v1

Se trata de obtener los usuarios en postman sin enviar authorization (sin token) y la respuesta es 401

Se añade autorización y el token previamente obtenido en el login y ahora devuelve un 200 OK con respuesta estandarizada.

Scroll al inicio