Refactor: Externaliza configuración de MailSettings a archivo .env
All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 6m31s
All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 6m31s
Para mejorar la seguridad y seguir las mejores prácticas, se ha externalizado la configuración sensible de `MailSettings` (credenciales SMTP) del archivo `appsettings.json` a un archivo `.env` no versionado.
### Cambios Realizados
- **Implementación de .env:**
- Se ha creado un archivo `.env` en la raíz del proyecto para almacenar las variables de entorno relacionadas con el servicio de correo.
- Se ha añadido el paquete NuGet `DotNetEnv` al proyecto para permitir la carga de este archivo.
- **Modificación del Arranque:**
- Se ha modificado `Program.cs` para que cargue las variables del archivo `.env` al inicio de la aplicación, haciéndolas disponibles para el sistema de configuración de .NET.
- **Limpieza de `appsettings.json`:**
- Se han eliminado los valores sensibles (usuario, contraseña, etc.) de la sección `MailSettings` en `appsettings.json`. El archivo ahora sirve como plantilla de la estructura de configuración sin exponer credenciales.
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -19,9 +19,6 @@ lerna-debug.log*
|
||||
|
||||
# Variables de entorno
|
||||
# -------------------------------
|
||||
# Nunca subas tus claves de API, contraseñas de BD, etc.
|
||||
# Crea un archivo .env.example con las variables vacías para guiar a otros desarrolladores.
|
||||
.env
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
|
||||
12
Backend/GestionIntegral.Api/.env
Normal file
12
Backend/GestionIntegral.Api/.env
Normal file
@@ -0,0 +1,12 @@
|
||||
# ================================================
|
||||
# VARIABLES DE ENTORNO PARA LA CONFIGURACIÓN DE CORREO
|
||||
# ================================================
|
||||
# El separador de doble guion bajo (__) se usa para mapear la jerarquía del JSON.
|
||||
# MailSettings:SmtpHost se convierte en MailSettings__SmtpHost
|
||||
|
||||
MailSettings__SmtpHost="mail.eldia.com"
|
||||
MailSettings__SmtpPort=587
|
||||
MailSettings__SenderName="Club - Diario El Día"
|
||||
MailSettings__SenderEmail="alertas@eldia.com"
|
||||
MailSettings__SmtpUser="alertas@eldia.com"
|
||||
MailSettings__SmtpPass="@Alertas713550@"
|
||||
@@ -9,6 +9,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="9.0.0" />
|
||||
<PackageReference Include="Dapper" Version="2.1.66" />
|
||||
<PackageReference Include="DotNetEnv" Version="3.1.1" />
|
||||
<PackageReference Include="MailKit" Version="4.13.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.3" />
|
||||
|
||||
@@ -24,6 +24,10 @@ using GestionIntegral.Api.Models.Comunicaciones;
|
||||
using GestionIntegral.Api.Services.Comunicaciones;
|
||||
using GestionIntegral.Api.Data.Repositories.Comunicaciones;
|
||||
|
||||
// Carga las variables de entorno desde el archivo .env al inicio de la aplicación.
|
||||
// Debe ser la primera línea para que la configuración esté disponible para el 'builder'.
|
||||
DotNetEnv.Env.Load();
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// --- Registros de Servicios ---
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"MailSettings": {
|
||||
"SmtpHost": "mail.eldia.com",
|
||||
"SmtpPort": 587,
|
||||
"SenderName": "Club - Diario El Día",
|
||||
"SenderEmail": "alertas@eldia.com",
|
||||
"SmtpUser": "alertas@eldia.com",
|
||||
"SmtpPass": "@Alertas713550@"
|
||||
}
|
||||
"SmtpHost": "",
|
||||
"SmtpPort": 0,
|
||||
"SenderName": "",
|
||||
"SenderEmail": "",
|
||||
"SmtpUser": "",
|
||||
"SmtpPass": ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user