Protege tu API REST con JWT: login seguro paso a paso

Introducción Cuando desarrollamos una aplicación web, muchas veces necesitamos proteger ciertas partes de nuestra API. Por ejemplo, una zona de usuario, un panel de administración o una ruta que devuelve información privada.El problema es que una API REST no recuerda por sí sola quién está haciendo cada petición. Cada solicitud es independiente, por lo que necesitamos algún sistema para identificar al usuario después de iniciar sesión.En este post vamos a resolver ese problema usando JWT, una forma muy común de autenticar usuarios en aplicaciones modernas. Construiremos una demo sencilla con Node.js, Express y…continue reading →
Clean Architecture y Patrón Repository en ASP.NET Core

Clean Architecture y Patrón Repository en ASP.NET Core

¿Cuántas veces has abierto un proyecto de hace seis meses y no has sabido por dónde empezar? ¿O has querido cambiar la base de datos y has terminado tocando diez archivos distintos porque todo estaba mezclado? Ese es exactamente el problema que resuelve Clean Architecture: separar las responsabilidades de tu aplicación de forma que cada parte viva donde le corresponde, y que el núcleo de tu lógica de negocio no dependa de ningún framework externo. En este artículo construimos desde cero una API de gestión de tareas llamada CleanTodo usando ASP.NET Core, MediatR,…continue reading →

Conseguir Token API Brawl Stars y Consumir API

Registrarnos en la API para conseguir el TOKEN Nos registramos en la api, nos dirigimos a nuestra cuenta y le damos a la opción de crear KEY, en la que nos pedirá que metamos nombre, descripción y nuestra IP https://developer.brawlstars.com/#/. Una vez creada la KEY entramos y tenemos el TOKEN lo copiamos y nos lo guardamos para insertarlo en el codigo. En nuestro proyecto hacemos la petición de AUTHORIZATION string enlaceJugadores = "https://api.brawlstars.com/v1/players/%23"; HttpClient cliente = new HttpClient(); cliente.DefaultRequestHeaders.Add("accept", "application/json"); //Importante el BEARER antes del TOKEN cliente.DefaultRequestHeaders.Add("authorization", "Bearer TOKEN"; try { var playerresponse…continue reading →

Creación de una WishList utilizando Amazon Elastic Cache

En esta ocasión os voy a enseñar a como crear y implementar Elastic Cache consumiendo los servicios de Amazon Web Servicies. Elastic Cache es una herramienta muy útil que nos permite almacenar, como dice su propio nombre, en la Cache la información que nosotros queramos de nuestra aplicación. Sus usos son variados, lo pueden implementar tanto para Session, como para una WishList o un Carrito de Compras. AWS Lo primero que necesitamos es tener una cuenta activa en AWS al entrar debemos comprobar que estamos en el Norte de Virginia, lo siguiente que…continue reading →

Implementar seguridad en APIs

En este tutorial voy a explicar como implementar seguridad en apis creadas con .NET. El primer paso sera crearse un proyecto de Api en Visual Studio. Una vez tengamos el proyecto, hay que instalar los nuggets. En este proyecto usaremos los que se ven en esta captura. El nugget de EntityFramework se usa para sacar los datos de un servidor SqlServer. Ahora hay que crear en el proyecto la carpeta Models. Dentro crearemos LoginModel y el modelo que nos servira de “usuario” en este caso la clase Jugador.  Una vez tenemos los modelos,…continue reading →

Servicio de Traducción a Ingles

Lo que conseguiremos con este servicio es facilitar a usuarios de distintos idiomas poder traducirlo al idioma ingles. Nuestro servicio detecta el idioma y así poder traducirlo. Lo que necesitaremos para nuestro servicio: Microsoft Visual Studio 2019ASP.NET Core Web ApiCuenta de Microsoft AzureTranslator Insomnia Primeramente Creamos nuestro Servicio y vemos la documentación necesaria para poder empezar a crear el servicio. https://flic.kr/p/2nigmEp Nos guardaremos nuestra Key, nuestra url en este caso será el Text Translation y nuestra región. https://flic.kr/p/2nigBy9 Una ves tenemos todo lo necesario nos vamos a visual studio y creamos un nuevo…continue reading →