diff --git a/srcs/PhoenixLib.DAL.EFCore.PGSQL/PgSqlDatabaseConfiguration.cs b/srcs/PhoenixLib.DAL.EFCore.PGSQL/PgSqlDatabaseConfiguration.cs index 759b25a..4abc7d8 100644 --- a/srcs/PhoenixLib.DAL.EFCore.PGSQL/PgSqlDatabaseConfiguration.cs +++ b/srcs/PhoenixLib.DAL.EFCore.PGSQL/PgSqlDatabaseConfiguration.cs @@ -28,7 +28,8 @@ namespace PhoenixLib.DAL.EFCore.PGSQL { string ip = Environment.GetEnvironmentVariable("POSTGRES_DATABASE_IP") ?? "localhost"; string username = Environment.GetEnvironmentVariable("POSTGRES_DATABASE_USER") ?? "postgres"; - string password = Environment.GetEnvironmentVariable("POSTGRES_DATABASE_PASSWORD") ?? "postgres"; + string password = Environment.GetEnvironmentVariable("POSTGRES_DATABASE_PASSWORD") + ?? throw new InvalidOperationException("POSTGRES_DATABASE_PASSWORD environment variable is required"); string database = Environment.GetEnvironmentVariable("POSTGRES_DATABASE_NAME") ?? "postgres"; if (!ushort.TryParse(Environment.GetEnvironmentVariable("POSTGRES_DATABASE_PORT") ?? "5432", out ushort port)) { @@ -38,6 +39,6 @@ namespace PhoenixLib.DAL.EFCore.PGSQL return new PgSqlDatabaseConfiguration(ip, username, password, database, port); } - public override string ToString() => $"Server={Ip};Port={Port};Database={Database};User Id={Username};Password={Password};"; + public override string ToString() => $"Server={Ip};Port={Port};Database={Database};User Id={Username};Password=***;"; } } \ No newline at end of file diff --git a/srcs/Toolkit/CommandHandlers/CreateAccountCommandHandler.cs b/srcs/Toolkit/CommandHandlers/CreateAccountCommandHandler.cs index e4c4187..893f787 100644 --- a/srcs/Toolkit/CommandHandlers/CreateAccountCommandHandler.cs +++ b/srcs/Toolkit/CommandHandlers/CreateAccountCommandHandler.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Security.Cryptography; using System.Threading.Tasks; using dotenv.net; using Microsoft.EntityFrameworkCore; @@ -65,20 +66,22 @@ public class CreateAccountCommandHandler return 0; } - context.Account.Add(new AccountEntity + string adminUsername = Environment.GetEnvironmentVariable("TOOLKIT_ADMIN_USERNAME") ?? "admin"; + string adminPassword = Environment.GetEnvironmentVariable("TOOLKIT_ADMIN_PASSWORD"); + if (string.IsNullOrWhiteSpace(adminPassword)) { - Authority = AuthorityType.Root, - Language = AccountLanguage.EN, - Name = "admin", - Password = "test".ToSha512() - }); + byte[] generatedPasswordBytes = new byte[24]; + RandomNumberGenerator.Fill(generatedPasswordBytes); + adminPassword = Convert.ToBase64String(generatedPasswordBytes); + Log.Warn($"[DEFAULT ACCOUNT] TOOLKIT_ADMIN_PASSWORD is missing. Generated temporary password for '{adminUsername}': {adminPassword}"); + } context.Account.Add(new AccountEntity { Authority = AuthorityType.Root, Language = AccountLanguage.EN, - Name = "test", - Password = "test".ToSha512() + Name = adminUsername, + Password = adminPassword.ToSha512() }); await context.SaveChangesAsync(); Log.Info("[DEFAULT ACCOUNT] Accounts created!"); diff --git a/srcs/_plugins/Plugin.DB.EF/DB/DatabaseConfiguration.cs b/srcs/_plugins/Plugin.DB.EF/DB/DatabaseConfiguration.cs index 075469d..058690b 100644 --- a/srcs/_plugins/Plugin.DB.EF/DB/DatabaseConfiguration.cs +++ b/srcs/_plugins/Plugin.DB.EF/DB/DatabaseConfiguration.cs @@ -39,7 +39,7 @@ namespace Plugin.Database.DB public override string ToString() => $"Host={Ip};Port={Port.ToString()}" + $";Database={Database}" + $";Username={Username}" - + $";Password={Password}" + + $";Password=***" + $";Read Buffer Size={ReadBufferSize.ToString()}" + $";Write Buffer Size={WriteBufferSize.ToString()}" + $";Include Error Detail={IncludeErrorDetail.ToString()}"; diff --git a/srcs/_plugins/Plugin.MongoLogs/Utils/MongoLogsConfiguration.cs b/srcs/_plugins/Plugin.MongoLogs/Utils/MongoLogsConfiguration.cs index 9b30880..d57e3a7 100644 --- a/srcs/_plugins/Plugin.MongoLogs/Utils/MongoLogsConfiguration.cs +++ b/srcs/_plugins/Plugin.MongoLogs/Utils/MongoLogsConfiguration.cs @@ -19,15 +19,22 @@ namespace Plugin.MongoLogs.Utils public string Username { get; } public string Password { get; } - public static MongoLogsConfiguration FromEnv() => - new( + public static MongoLogsConfiguration FromEnv() + { + string username = Environment.GetEnvironmentVariable("WINGSEMU_MONGO_USERNAME") + ?? throw new InvalidOperationException("WINGSEMU_MONGO_USERNAME environment variable is required"); + string password = Environment.GetEnvironmentVariable("WINGSEMU_MONGO_PWD") + ?? throw new InvalidOperationException("WINGSEMU_MONGO_PWD environment variable is required"); + + return new MongoLogsConfiguration( Environment.GetEnvironmentVariable("WINGSEMU_MONGO_HOST") ?? "localhost", short.Parse(Environment.GetEnvironmentVariable("WINGSEMU_MONGO_PORT") ?? "27017"), Environment.GetEnvironmentVariable("WINGSEMU_MONGO_DB") ?? "wingsemu_logs", - Environment.GetEnvironmentVariable("WINGSEMU_MONGO_USERNAME") ?? "root", - Environment.GetEnvironmentVariable("WINGSEMU_MONGO_PWD") ?? "root" + username, + password ); + } - public override string ToString() => $"mongodb://{Username}:{Password}@{Host}:{Port}"; + public override string ToString() => $"mongodb://***:***@{Host}:{Port}"; } } \ No newline at end of file