diff --git a/gaseous-server/Classes/Auth/Classes/UserTable.cs b/gaseous-server/Classes/Auth/Classes/UserTable.cs index ed5e496..293c663 100644 --- a/gaseous-server/Classes/Auth/Classes/UserTable.cs +++ b/gaseous-server/Classes/Auth/Classes/UserTable.cs @@ -333,7 +333,7 @@ namespace Authentication private SecurityProfileViewModel GetSecurityProfile(TUser user) { - string sql = "SELECT SecurityProfile FROM users WHERE Id=@Id;"; + string sql = "SELECT SecurityProfile FROM Users WHERE Id=@Id;"; Dictionary dbDict = new Dictionary(); dbDict.Add("Id", user.Id); @@ -360,7 +360,7 @@ namespace Authentication private int SetSecurityProfile(TUser user, SecurityProfileViewModel securityProfile) { - string commandText = "UPDATE users SET SecurityProfile=@SecurityProfile WHERE Id=@Id;"; + string commandText = "UPDATE Users SET SecurityProfile=@SecurityProfile WHERE Id=@Id;"; Dictionary parameters = new Dictionary(); parameters.Add("Id", user.Id); parameters.Add("SecurityProfile", Newtonsoft.Json.JsonConvert.SerializeObject(securityProfile)); diff --git a/gaseous-server/Controllers/V1.1/FirstSetupController.cs b/gaseous-server/Controllers/V1.1/FirstSetupController.cs index fa5f67b..5685231 100644 --- a/gaseous-server/Controllers/V1.1/FirstSetupController.cs +++ b/gaseous-server/Controllers/V1.1/FirstSetupController.cs @@ -67,7 +67,7 @@ namespace gaseous_server.Controllers } } - return NotFound(); + return Problem(ModelState.ToString()); } else { diff --git a/gaseous-server/Program.cs b/gaseous-server/Program.cs index cd69181..5ae6118 100644 --- a/gaseous-server/Program.cs +++ b/gaseous-server/Program.cs @@ -222,6 +222,9 @@ builder.Services.ConfigureApplicationCookie(options => options.Cookie.Name = "Gaseous.Identity"; options.ExpireTimeSpan = TimeSpan.FromDays(90); options.SlidingExpiration = true; + options.Cookie.HttpOnly = true; + options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; + options.Cookie.SameSite = SameSiteMode.Strict; }); // builder.Services.AddIdentityCore(options => { // options.SignIn.RequireConfirmedAccount = false; @@ -285,26 +288,26 @@ using (var scope = app.Services.CreateScope()) } } - // set up administrator account - var userManager = scope.ServiceProvider.GetRequiredService(); - if (await userManager.FindByNameAsync("admin@localhost", CancellationToken.None) == null) - { - ApplicationUser adminUser = new ApplicationUser{ - Id = Guid.NewGuid().ToString(), - Email = "admin@localhost", - NormalizedEmail = "ADMIN@LOCALHOST", - EmailConfirmed = true, - UserName = "administrator", - NormalizedUserName = "ADMINISTRATOR" - }; + // // set up administrator account + // var userManager = scope.ServiceProvider.GetRequiredService(); + // if (await userManager.FindByNameAsync("admin@localhost", CancellationToken.None) == null) + // { + // ApplicationUser adminUser = new ApplicationUser{ + // Id = Guid.NewGuid().ToString(), + // Email = "admin@localhost", + // NormalizedEmail = "ADMIN@LOCALHOST", + // EmailConfirmed = true, + // UserName = "administrator", + // NormalizedUserName = "ADMINISTRATOR" + // }; - //set user password - PasswordHasher ph = new PasswordHasher(); - adminUser.PasswordHash = ph.HashPassword(adminUser, "letmein"); + // //set user password + // PasswordHasher ph = new PasswordHasher(); + // adminUser.PasswordHash = ph.HashPassword(adminUser, "letmein"); - await userManager.CreateAsync(adminUser, CancellationToken.None); - await userManager.AddToRoleAsync(adminUser, "Admin", CancellationToken.None); - } + // await userManager.CreateAsync(adminUser, CancellationToken.None); + // await userManager.AddToRoleAsync(adminUser, "Admin", CancellationToken.None); + // } } app.UseAuthorization(); diff --git a/gaseous-server/Support/Database/MySQL/gaseous-1004.sql b/gaseous-server/Support/Database/MySQL/gaseous-1004.sql index 50b484a..b16f140 100644 --- a/gaseous-server/Support/Database/MySQL/gaseous-1004.sql +++ b/gaseous-server/Support/Database/MySQL/gaseous-1004.sql @@ -10,6 +10,13 @@ CREATE TABLE `GameLibraries` ( ALTER TABLE `Games_Roms` ADD COLUMN `LibraryId` INT NULL DEFAULT 0 AFTER `MetadataVersion`; +CREATE TABLE `Relation_Game_AgeRatings` ( + `GameId` BIGINT NOT NULL, + `AgeRatingsId` BIGINT NOT NULL, + PRIMARY KEY (`GameId`, `AgeRatingsId`), + INDEX `idx_PrimaryColumn` (`GameId` ASC) VISIBLE +); + CREATE TABLE `Relation_Game_Genres` ( `GameId` BIGINT NOT NULL, `GenresId` BIGINT NOT NULL, diff --git a/gaseous-server/Support/Database/MySQL/gaseous-1005.sql b/gaseous-server/Support/Database/MySQL/gaseous-1005.sql index ddcd3b2..fc051a9 100644 --- a/gaseous-server/Support/Database/MySQL/gaseous-1005.sql +++ b/gaseous-server/Support/Database/MySQL/gaseous-1005.sql @@ -1,10 +1,10 @@ -CREATE TABLE `roles` ( +CREATE TABLE `Roles` ( `Id` varchar(128) NOT NULL, `Name` varchar(256) NOT NULL, PRIMARY KEY (`Id`) ); -CREATE TABLE `users` ( +CREATE TABLE `Users` ( `Id` varchar(128) NOT NULL, `Email` varchar(256) DEFAULT NULL, `EmailConfirmed` tinyint(1) NOT NULL, @@ -24,7 +24,7 @@ CREATE TABLE `users` ( PRIMARY KEY (`Id`) ); -CREATE TABLE `userclaims` ( +CREATE TABLE `UserClaims` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `UserId` varchar(128) NOT NULL, `ClaimType` longtext, @@ -32,23 +32,23 @@ CREATE TABLE `userclaims` ( PRIMARY KEY (`Id`), UNIQUE KEY `Id` (`Id`), KEY `UserId` (`UserId`), - CONSTRAINT `ApplicationUser_Claims` FOREIGN KEY (`UserId`) REFERENCES `users` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT `ApplicationUser_Claims` FOREIGN KEY (`UserId`) REFERENCES `Users` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION ); -CREATE TABLE `userlogins` ( +CREATE TABLE `UserLogins` ( `LoginProvider` varchar(128) NOT NULL, `ProviderKey` varchar(128) NOT NULL, `UserId` varchar(128) NOT NULL, PRIMARY KEY (`LoginProvider`,`ProviderKey`,`UserId`), KEY `ApplicationUser_Logins` (`UserId`), - CONSTRAINT `ApplicationUser_Logins` FOREIGN KEY (`UserId`) REFERENCES `users` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT `ApplicationUser_Logins` FOREIGN KEY (`UserId`) REFERENCES `Users` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION ); -CREATE TABLE `userroles` ( +CREATE TABLE `UserRoles` ( `UserId` varchar(128) NOT NULL, `RoleId` varchar(128) NOT NULL, PRIMARY KEY (`UserId`,`RoleId`), KEY `IdentityRole_Users` (`RoleId`), - CONSTRAINT `ApplicationUser_Roles` FOREIGN KEY (`UserId`) REFERENCES `users` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT `IdentityRole_Users` FOREIGN KEY (`RoleId`) REFERENCES `roles` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION + CONSTRAINT `ApplicationUser_Roles` FOREIGN KEY (`UserId`) REFERENCES `Users` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT `IdentityRole_Users` FOREIGN KEY (`RoleId`) REFERENCES `Roles` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION ) ;