diff --git a/EssentialCSharp.Web/Areas/Identity/Pages/Account/ExternalLogin.cshtml.cs b/EssentialCSharp.Web/Areas/Identity/Pages/Account/ExternalLogin.cshtml.cs index 0b96777e..1316d553 100644 --- a/EssentialCSharp.Web/Areas/Identity/Pages/Account/ExternalLogin.cshtml.cs +++ b/EssentialCSharp.Web/Areas/Identity/Pages/Account/ExternalLogin.cshtml.cs @@ -80,6 +80,8 @@ public async Task OnGetCallbackAsync(string? returnUrl = null, st if (user != null) { await referralService.EnsureReferralIdAsync(user); + // Refresh sign-in to pick up the newly added referral ID claim + await signInManager.RefreshSignInAsync(user); } return LocalRedirect(returnUrl); } @@ -189,6 +191,8 @@ await emailSender.SendEmailAsync(Input.Email, "Confirm your email", return RedirectToPage("./RegisterConfirmation", new { Email = Input.Email }); } + // Ensure referral ID is set for the new user before signing in + await referralService.EnsureReferralIdAsync(user); await signInManager.SignInAsync(user, isPersistent: false, info.LoginProvider); return LocalRedirect(returnUrl); }