SharpRSS/SharpRSS.Blazor/Auth/SRSSAuthenticationStateProvider.cs

42 lines
1.4 KiB
C#

using Blazored.LocalStorage;
using DotBased.Logging;
using Microsoft.AspNetCore.Components.Authorization;
using SharpRSS.Business.Services;
using ILogger = DotBased.Logging.ILogger;
namespace SharpRSS.Blazor.Auth;
public class SRSSAuthenticationStateProvider : AuthenticationStateProvider
{
public SRSSAuthenticationStateProvider(IHttpContextAccessor contextAccessor, AuthService authService, ILocalStorageService localStorageService)
{
_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;
_localStorageService = localStorageService;
}
/*
* Services
*/
private readonly ILogger _logger;
private readonly HttpContext _httpContext;
private readonly AuthService _authService;
private readonly ILocalStorageService _localStorageService;
/*
* Consts
*/
private const string AuthIdName = "srss_auth_id";
public override Task<AuthenticationState> GetAuthenticationStateAsync()
{
throw new NotImplementedException();
}
}