using DotBased.Logging; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Http; using SharpRSS.Business.Services; namespace SharpRSS.Business.Auth; public class SRSSAuthenticationStateProvider : AuthenticationStateProvider { public SRSSAuthenticationStateProvider(IHttpContextAccessor contextAccessor, AuthService authService) { _logger = LogService.RegisterLogger(typeof(SRSSAuthenticationStateProvider)); if (contextAccessor.HttpContext != null) _httpContext = contextAccessor.HttpContext; else { var ex = new ApplicationException("HttpContext is null! Cannot setup authentication state provider!"); _logger.Fatal(ex, "Failed to initialize authentication state provider!"); throw ex; } _authService = authService; } /* * Services */ private readonly ILogger _logger; private readonly HttpContext _httpContext; private readonly AuthService _authService; /* * Consts */ private const string AuthIdName = "srss_auth_id"; public override Task GetAuthenticationStateAsync() { _logger.Debug("Getting authentication state..."); throw new NotImplementedException(); } }