diff --git a/Endpoints/AuthEndpoints.cs b/Endpoints/AuthEndpoints.cs index 46ed4d7..7d1aecb 100644 --- a/Endpoints/AuthEndpoints.cs +++ b/Endpoints/AuthEndpoints.cs @@ -59,7 +59,7 @@ public static class AuthEndpoints db.Players.Add(player); await db.SaveChangesAsync(); - PlayerIdentityExtensions.IssuePlayerCookie(ctx, player.Id); + PlayerIdentityExtensions.IssuePlayerCookie(ctx, player.Id, player.Username); return Results.Ok(new { player.Id, player.Username, player.DisplayName, player.IsAdmin }); }); @@ -82,7 +82,7 @@ public static class AuthEndpoints player.LastLoginAt = DateTimeOffset.UtcNow; await db.SaveChangesAsync(); - PlayerIdentityExtensions.IssuePlayerCookie(ctx, player.Id); + PlayerIdentityExtensions.IssuePlayerCookie(ctx, player.Id, player.Username); return Results.Ok(new { player.Id, player.Username, player.DisplayName, player.IsAdmin }); }); diff --git a/Infrastructure/PlayerIdentityExtensions.cs b/Infrastructure/PlayerIdentityExtensions.cs index 8394415..f819b93 100644 --- a/Infrastructure/PlayerIdentityExtensions.cs +++ b/Infrastructure/PlayerIdentityExtensions.cs @@ -5,6 +5,7 @@ namespace GameList.Infrastructure; public static class PlayerIdentityExtensions { public const string PlayerCookieName = "player"; + public const string PlayerUsernameCookieName = "player_username"; public static IApplicationBuilder UsePlayerIdentity(this IApplicationBuilder app) { @@ -28,10 +29,14 @@ public static class PlayerIdentityExtensions return app; } - public static void IssuePlayerCookie(HttpContext ctx, Guid playerId) + public static void IssuePlayerCookie(HttpContext ctx, Guid playerId, string? username = null) { var options = BuildCookieOptions(ctx); ctx.Response.Cookies.Append(PlayerCookieName, playerId.ToString(), options); + if (!string.IsNullOrWhiteSpace(username)) + { + ctx.Response.Cookies.Append(PlayerUsernameCookieName, username, options); + } ctx.Items[PlayerCookieName] = playerId; } @@ -40,6 +45,7 @@ public static class PlayerIdentityExtensions var options = BuildCookieOptions(ctx); options.Expires = DateTimeOffset.UtcNow.AddDays(-1); ctx.Response.Cookies.Append(PlayerCookieName, string.Empty, options); + ctx.Response.Cookies.Append(PlayerUsernameCookieName, string.Empty, options); ctx.Items.Remove(PlayerCookieName); }