Añadir seguridad a una API .NET Core existente

Quizá nuestra API no debería de ser completamente abierta, necesitamos securizar algunas operaciones de las que nos permite hacer a los que son miembros o no o a algunos 'roles' y otros no. Primero debemos añadir a nuestro appsetings.config lo siguiente: Donde nuestro Issuer es la URL del servidor, Audience el nombre de nuestra aplicación y SecretKey la clave que usaremos para generar dinámicamente nuestros tokens, esta ultima debe ser mayor a 8 caracteres, si no obtendremos un error al ejecutar nuestra solution. He añadido los siguientes NuGet al proyecto, el último de…continue reading →

Inyección de Dependencias en Asp.Net Core (Sql, MySql, XML)

En este post vamos a aprender a realizar la Inyección de Dependencias (DI) y la Inversión de Control (IoC) en Asp.Net Core con Entity Framework. Usaremos un ejemplo práctico con acceso a datos para realizar la inyección de dependencias de Sql, MySql y Xml. Inyección de Dependencias La inyección de dependencias es uno de los principios SOLID, que consiste en usar interfaces en lugar de clases directamente para poder reemplazar componentes con más facilidad y hacer que una clase reciba referencias a los componentes que necesite para funcionar, en lugar de instanciarlos de…continue reading →

Envío de emails en Net Core

El uso de los emails esta muy extendido y cualquier aplicación web que permita a registrarse debe tener un servidor de correo. Para poder enviar emails desde aplicaciones Net Core es necesario disponer de una clase destinada únicamente al envío de emails y que tenga una inyección de dependencias desde Startup.cs. https://flic.kr/p/2kDTL3x Clase startup.cs con inyección de dependencias Es recomendable que la clase encargada del envío de mails se encuentre en una carpeta llamada Helpers. https://flic.kr/p/2kDXndp Árbol de directorio del proyecto con MailService.cs Es necesario que se recoja en el constructor el IConfiguration…continue reading →

CACHÉ REDIS

Caché Redis es un tipo de almacenamiento, como session, pero en Azure, es decir, este tipo de caché permanece disponible entre las diferentes aplicaciones que lo implementen y si, por ejemplo, tuviésemos un carrito de la compra en el navegador de un ordenador, podríamos seguir teniendo ese carrito disponible si abrimos la aplicación en el movil. Para crear un almacenamiento Redis debemos seguir los siguientes pasos:1. Abrimos el portal de Azure.2. Crear nuevo recurso.3. Buscamos Bases de datos y seleccionamos Redis Cache. 4. Seleccionamos tipo de suscripción, grupo de recursos, el nombre de…continue reading →

AWS CLOUDFORMATION

Es un servicio de Amazon que ayuda a modelar y configurar un conjunto de recursos de AWS. Trabaja mediante plantillas, ya sean propias o de terceros. Existen varias formas de subir una plantilla:1. Se pueden crear de forma gráfica en la consola de AWS mediante el drag and drop, mientras que por detras, AWS, lo va convirtiendo en una plantilla JSON o YAML.2. Puedes subir la plantilla con formato JSON o YALM a un bucket y pegar la URL.3. Se puede seleccionar la subida de archivo local.¿Cómo se empieza?En el buscador de servicios…continue reading →

Desplegar API .Net Core en AWS API Gateway

Si sabemos ya desarrollar una API .Net Core o mejor aún: ya la tenemos y queremos desplegarla en la nube esto es uno de los mejores métodos. Aprender AWS Lambda puede ser muy costoso en tiempo y poco útil. Vamos a ver como lo hemos hecho en unos sencillos pasos, partiendo de una API ya existente. Si no tenemos un usuario administrador nos creamos uno desde la consola de AWS con acceso mediante programación. La política que le debemos dar es AdministratorAccess. Descargamos el csv con sus credenciales y mediante el comando "aws…continue reading →