From 1f2cdb146d3ce9a80a94185c8c565fdeb6731879 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Thu, 10 Jul 2025 12:53:45 +0800 Subject: [PATCH] :bug: Serval bug fixes --- DysonNetwork.Sphere/Pages/Auth/Login.cshtml | 2 +- DysonNetwork.Sphere/Pages/Auth/SelectFactor.cshtml | 2 +- DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml | 2 +- .../Pages/Auth/VerifyFactor.cshtml.cs | 14 +++++--------- DysonNetwork.Sphere/Pages/Index.cshtml | 2 +- .../Startup/ApplicationConfiguration.cs | 1 + 6 files changed, 10 insertions(+), 13 deletions(-) diff --git a/DysonNetwork.Sphere/Pages/Auth/Login.cshtml b/DysonNetwork.Sphere/Pages/Auth/Login.cshtml index 4df12ff..f3d64f1 100644 --- a/DysonNetwork.Sphere/Pages/Auth/Login.cshtml +++ b/DysonNetwork.Sphere/Pages/Auth/Login.cshtml @@ -1,7 +1,7 @@ @page "/web/auth/login" @model DysonNetwork.Sphere.Pages.Auth.LoginModel @{ - ViewData["Title"] = "Login"; + ViewData["Title"] = "Login | Solar Network"; var returnUrl = Model.ReturnUrl ?? ""; } diff --git a/DysonNetwork.Sphere/Pages/Auth/SelectFactor.cshtml b/DysonNetwork.Sphere/Pages/Auth/SelectFactor.cshtml index 8ed09b4..7f07131 100644 --- a/DysonNetwork.Sphere/Pages/Auth/SelectFactor.cshtml +++ b/DysonNetwork.Sphere/Pages/Auth/SelectFactor.cshtml @@ -2,7 +2,7 @@ @using DysonNetwork.Sphere.Account @model DysonNetwork.Sphere.Pages.Auth.SelectFactorModel @{ - ViewData["Title"] = "Select Authentication Method"; + ViewData["Title"] = "Select Authentication Method | Solar Network"; }
diff --git a/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml b/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml index e89b21c..cee24f7 100644 --- a/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml +++ b/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml @@ -2,7 +2,7 @@ @using DysonNetwork.Sphere.Account @model DysonNetwork.Sphere.Pages.Auth.VerifyFactorModel @{ - ViewData["Title"] = "Verify Your Identity"; + ViewData["Title"] = "Verify Your Identity | Solar Network"; }
diff --git a/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml.cs b/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml.cs index 618da10..55e2a74 100644 --- a/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml.cs +++ b/DysonNetwork.Sphere/Pages/Auth/VerifyFactor.cshtml.cs @@ -39,7 +39,7 @@ namespace DysonNetwork.Sphere.Pages.Auth await LoadChallengeAndFactor(); if (AuthChallenge == null) return NotFound("Challenge not found or expired."); if (Factor == null) return NotFound("Authentication method not found."); - if (AuthChallenge.StepRemain == 0) return await ExchangeTokenAndRedirect(); + if (AuthChallenge.StepRemain == 0) return await ExchangeTokenAndRedirect(AuthChallenge); return Page(); } @@ -93,7 +93,7 @@ namespace DysonNetwork.Sphere.Pages.Auth { "account_id", AuthChallenge.AccountId } }, Request, AuthChallenge.Account); - return await ExchangeTokenAndRedirect(); + return await ExchangeTokenAndRedirect(AuthChallenge); } else @@ -145,14 +145,10 @@ namespace DysonNetwork.Sphere.Pages.Auth } } - private async Task ExchangeTokenAndRedirect() + private async Task ExchangeTokenAndRedirect(Challenge challenge) { - var challenge = await db.AuthChallenges - .Include(e => e.Account) - .FirstOrDefaultAsync(e => e.Id == Id); - - if (challenge == null) return BadRequest("Authorization code not found or expired."); - if (challenge.StepRemain != 0) return BadRequest("Challenge not yet completed."); + await db.Entry(challenge).ReloadAsync(); + if (challenge.StepRemain != 0) return BadRequest($"Challenge not yet completed. Remaining steps: {challenge.StepRemain}"); var session = await db.AuthSessions .FirstOrDefaultAsync(e => e.ChallengeId == challenge.Id); diff --git a/DysonNetwork.Sphere/Pages/Index.cshtml b/DysonNetwork.Sphere/Pages/Index.cshtml index 6da58d5..9e2c5ed 100644 --- a/DysonNetwork.Sphere/Pages/Index.cshtml +++ b/DysonNetwork.Sphere/Pages/Index.cshtml @@ -1,7 +1,7 @@ @page @model IndexModel @{ - ViewData["Title"] = "The Solar Network"; + ViewData["Title"] = "The Solar Network | Solar Network"; }
diff --git a/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs b/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs index 08c7c67..f2e6c2c 100644 --- a/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs +++ b/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs @@ -34,6 +34,7 @@ public static class ApplicationConfiguration app.UseWebSockets(); app.UseRateLimiter(); app.UseHttpsRedirection(); + app.UseAuthentication(); app.UseAuthorization(); app.UseMiddleware();