diff --git a/MareAPI b/MareAPI index ff262bf..7a48ca9 160000 --- a/MareAPI +++ b/MareAPI @@ -1 +1 @@ -Subproject commit ff262bf6905075c20d5c21bd3848809351150fba +Subproject commit 7a48ca98234d82a46dc291ae030cc1d7f544b903 diff --git a/MareSynchronosServer/MareSynchronosAuthService/Controllers/JwtController.cs b/MareSynchronosServer/MareSynchronosAuthService/Controllers/JwtController.cs index 58dc171..a43c76e 100644 --- a/MareSynchronosServer/MareSynchronosAuthService/Controllers/JwtController.cs +++ b/MareSynchronosServer/MareSynchronosAuthService/Controllers/JwtController.cs @@ -113,7 +113,8 @@ public class JwtController : Controller } var existingIdent = await _redis.GetAsync("UID:" + authResult.Uid); - if (!string.IsNullOrEmpty(existingIdent)) return Unauthorized("Already logged in to this account. Reconnect in 60 seconds. If you keep seeing this issue, restart your game."); + if (!string.IsNullOrEmpty(existingIdent) && !string.Equals(existingIdent, charaIdent, StringComparison.Ordinal)) + return Unauthorized("Already logged in to this account. Reconnect in 60 seconds. If you keep seeing this issue, restart your game."); var token = CreateToken(new List() { @@ -192,4 +193,4 @@ public class JwtController : Controller var handler = new JwtSecurityTokenHandler(); return handler.CreateJwtSecurityToken(token); } -} \ No newline at end of file +} diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs index c59d218..2fecbbe 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs @@ -202,7 +202,7 @@ public partial class MareHub } [Authorize(Policy = "Identified")] - public async Task GroupCreate() + public async Task GroupCreate(string? alias) { _logger.LogCallInfo(); var existingGroupsByUser = await DbContext.Groups.CountAsync(u => u.OwnerUID == UserUID).ConfigureAwait(false); @@ -223,12 +223,23 @@ public partial class MareHub var sha = SHA256.Create(); var hashedPw = StringUtils.Sha256String(passwd); + string? sanitizedAlias = null; + if (!string.IsNullOrWhiteSpace(alias)) + { + sanitizedAlias = alias.Trim(); + if (sanitizedAlias.Length > 50) + { + sanitizedAlias = sanitizedAlias[..50]; + } + } + Group newGroup = new() { GID = gid, HashedPassword = hashedPw, InvitesEnabled = true, OwnerUID = UserUID, + Alias = sanitizedAlias, }; GroupPair initialPair = new() @@ -559,4 +570,4 @@ public partial class MareHub _logger.LogCallInfo(MareHubLogger.Args(dto, "Success")); } -} \ No newline at end of file +}