Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

HttpContext returning null on Blazor Login page

$
0
0

Last week I was working on my blazor web app .net 8 project and everything was working fine. Now I come back and I can't login anymore. My login page is throwing an error.

Login.razor:

@page "/Account/Login"@layout EmptyLayout@attribute [AllowAnonymous]@using System.ComponentModel.DataAnnotations@using AVAZicht.Components.Layout@using Microsoft.AspNetCore.Authentication@using Microsoft.AspNetCore.Identity@using AVAZicht.Data@inject SignInManager<ApplicationUser> SignInManager@inject ILogger<Login> Logger@inject NavigationManager NavigationManager@inject IdentityRedirectManager RedirectManager<PageTitle>Log in</PageTitle><div class="container"><div class="row justify-content-md-center align-items-center vh-100"><div class="col-lg-4" align="center"><img src="images/ava_logo_transp.png" class="w-75 mb-3" /><section class="p-0"><StatusMessage Message="@errorMessage" /><EditForm Model="Input" method="post" OnValidSubmit="LoginUser" FormName="login"><DataAnnotationsValidator /><ValidationSummary class="text-danger" role="alert" /><div class="form-floating mb-3"><InputText @bind-Value="Input.Email" class="form-control" autocomplete="username" aria-required="true" placeholder="name@example.com" /><label for="email" class="form-label">Email</label><ValidationMessage For="() => Input.Email" class="text-danger" /></div><div class="form-floating mb-3"><InputText type="password" @bind-Value="Input.Password" class="form-control" autocomplete="current-password" aria-required="true" placeholder="password" /><label for="password" class="form-label">Password</label><ValidationMessage For="() => Input.Password" class="text-danger" /></div><div class="checkbox mb-3"><label class="form-label"><InputCheckbox @bind-Value="Input.RememberMe" class="darker-border-checkbox form-check-input" />                            Ingelogd blijven</label></div><div><button type="submit" class="w-100 btn btn-lg btn-primary">Inloggen</button></div></EditForm></section></div></div></div>@code {    private string? errorMessage;    [CascadingParameter]    private HttpContext HttpContext { get; set; } = default!;    [SupplyParameterFromForm]    private InputModel Input { get; set; } = new();    [SupplyParameterFromQuery]    private string? ReturnUrl { get; set; }    protected override async Task OnInitializedAsync()    {        if (HttpMethods.IsGet(HttpContext.Request.Method))        {            // Clear the existing external cookie to ensure a clean login process            await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);        }    }    public async Task LoginUser()    {        // This doesn't count login failures towards account lockout        // To enable password failures to trigger account lockout, set lockoutOnFailure: true        var result = await SignInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure: false);        if (result.Succeeded)        {            Logger.LogInformation("User logged in.");            RedirectManager.RedirectTo(ReturnUrl);        }        else if (result.RequiresTwoFactor)        {            RedirectManager.RedirectTo("Account/LoginWith2fa",                new() { ["returnUrl"] = ReturnUrl, ["rememberMe"] = Input.RememberMe });        }        else if (result.IsLockedOut)        {            Logger.LogWarning("User account locked out.");            RedirectManager.RedirectTo("Account/Lockout");        }        else        {            errorMessage = "Error: Invalid login attempt.";        }    }    private sealed class InputModel    {        [Required]        [EmailAddress]        public string Email { get; set; } = "";        [Required]        [DataType(DataType.Password)]        public string Password { get; set; } = "";        [Display(Name = "Remember me?")]        public bool RememberMe { get; set; }    }}

The error I get:

System.NullReferenceException: 'Object reference not set to an instance of an object.'AVAZicht.Components.Account.Pages.Login.HttpContext.get returned null.

enter image description here

I created a clean Blazor Web App .net 8 project with individual accounts as authentication type and that works just fine. I've gone through every single page it uses, going to the login page.

Anyone any tips?


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>