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
();