mirror of
https://github.com/hmaxnl/SharpRSS.git
synced 2025-01-19 05:14:21 +01:00
Compare commits
No commits in common. "c4ae8ab195fcd2638975cd319d40b30afaff4dbf" and "69eeb5c44e7892b725017d7ee6af5901868694df" have entirely different histories.
c4ae8ab195
...
69eeb5c44e
|
@ -1,42 +0,0 @@
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
namespace SharpRSS.Blazor.Constants;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The internal application routes
|
|
||||||
/// </summary>
|
|
||||||
public static class Routes
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,4 +1,3 @@
|
||||||
using Blazored.LocalStorage;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using MudBlazor.Services;
|
using MudBlazor.Services;
|
||||||
using SharpRSS.Blazor.Components;
|
using SharpRSS.Blazor.Components;
|
||||||
|
@ -8,13 +7,11 @@ using SharpRSS.Data;
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
builder.UseSRSS();
|
builder.UseSRSS();
|
||||||
builder.Services.AddBlazoredLocalStorage();
|
|
||||||
|
|
||||||
// Add services to the container.
|
// Add services to the container.
|
||||||
builder.Services.AddRazorComponents()
|
builder.Services.AddRazorComponents()
|
||||||
.AddInteractiveServerComponents();
|
.AddInteractiveServerComponents();
|
||||||
builder.Services.AddMudServices();
|
builder.Services.AddMudServices();
|
||||||
builder.Services.AddHttpContextAccessor(); // HttpContext accessor
|
|
||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
|
|
||||||
|
|
48
SharpRSS.Blazor/Resources/App.Defaults.Designer.cs
generated
48
SharpRSS.Blazor/Resources/App.Defaults.Designer.cs
generated
|
@ -1,48 +0,0 @@
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
namespace SharpRSS.Blazor.Resources {
|
|
||||||
using System;
|
|
||||||
|
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
|
||||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
|
||||||
internal class App_Defaults {
|
|
||||||
|
|
||||||
private static System.Resources.ResourceManager resourceMan;
|
|
||||||
|
|
||||||
private static System.Globalization.CultureInfo resourceCulture;
|
|
||||||
|
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
||||||
internal App_Defaults() {
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
||||||
internal static System.Resources.ResourceManager ResourceManager {
|
|
||||||
get {
|
|
||||||
if (object.Equals(null, resourceMan)) {
|
|
||||||
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("SharpRSS.Blazor.Resources.App_Defaults", typeof(App_Defaults).Assembly);
|
|
||||||
resourceMan = temp;
|
|
||||||
}
|
|
||||||
return resourceMan;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
||||||
internal static System.Globalization.CultureInfo Culture {
|
|
||||||
get {
|
|
||||||
return resourceCulture;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
resourceCulture = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<root>
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>1.3</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
</root>
|
|
|
@ -12,23 +12,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Blazored.LocalStorage" Version="4.5.0" />
|
|
||||||
<PackageReference Include="MudBlazor" Version="6.20.0" />
|
<PackageReference Include="MudBlazor" Version="6.20.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<EmbeddedResource Update="Resources\App.Defaults.resx">
|
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
|
||||||
<LastGenOutput>App.Defaults.Designer.cs</LastGenOutput>
|
|
||||||
</EmbeddedResource>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Update="Resources\App.Defaults.Designer.cs">
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DependentUpon>App.Defaults.resx</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -7,7 +7,6 @@ using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.EntityFrameworkCore.Diagnostics;
|
using Microsoft.EntityFrameworkCore.Diagnostics;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
using SharpRSS.Business.Services;
|
|
||||||
using SharpRSS.Core.Configuration;
|
using SharpRSS.Core.Configuration;
|
||||||
using SharpRSS.Data;
|
using SharpRSS.Data;
|
||||||
|
|
||||||
|
@ -17,9 +16,7 @@ public static class DependencyInjection
|
||||||
{
|
{
|
||||||
public static WebApplicationBuilder UseSRSS(this WebApplicationBuilder builder)
|
public static WebApplicationBuilder UseSRSS(this WebApplicationBuilder builder)
|
||||||
{
|
{
|
||||||
/*
|
// Logging (serilog)
|
||||||
* Logging (serilog)
|
|
||||||
*/
|
|
||||||
var serilogConfig = new LoggerConfiguration().ReadFrom.Configuration(builder.Configuration).UseBasedExtension();
|
var serilogConfig = new LoggerConfiguration().ReadFrom.Configuration(builder.Configuration).UseBasedExtension();
|
||||||
Log.Logger = serilogConfig.CreateLogger();
|
Log.Logger = serilogConfig.CreateLogger();
|
||||||
|
|
||||||
|
@ -29,9 +26,7 @@ public static class DependencyInjection
|
||||||
builder.Logging.ClearProviders();
|
builder.Logging.ClearProviders();
|
||||||
builder.Logging.AddSerilog();
|
builder.Logging.AddSerilog();
|
||||||
|
|
||||||
/*
|
// EF Core DbContextFactory
|
||||||
* EF Core DbContextFactory
|
|
||||||
*/
|
|
||||||
builder.Services.AddDbContextFactory<SRSSContext>(options =>
|
builder.Services.AddDbContextFactory<SRSSContext>(options =>
|
||||||
{
|
{
|
||||||
var dbSettings = new DatabaseSettings();
|
var dbSettings = new DatabaseSettings();
|
||||||
|
@ -58,12 +53,7 @@ public static class DependencyInjection
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
//TODO: Services, Auth, Settings
|
||||||
* Services
|
|
||||||
*/
|
|
||||||
builder.Services.AddScoped<AuthService>();
|
|
||||||
|
|
||||||
//TODO: Auth, Settings
|
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,30 +0,0 @@
|
||||||
using DotBased;
|
|
||||||
using DotBased.Logging;
|
|
||||||
using SharpRSS.Data.Domains.Auth;
|
|
||||||
|
|
||||||
namespace SharpRSS.Business.Services;
|
|
||||||
|
|
||||||
public class AuthService
|
|
||||||
{
|
|
||||||
public AuthService()
|
|
||||||
{
|
|
||||||
_logger = LogService.RegisterLogger(typeof(AuthService));
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly ILogger _logger;
|
|
||||||
|
|
||||||
public async Task<Result> LoginUserAsync(LoginModel loginModel)
|
|
||||||
{
|
|
||||||
return Result.Failed("NotImplemented");
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<Result> LogoutUserAsync(string id)
|
|
||||||
{
|
|
||||||
return Result.Failed("NotImplemented");
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<Result> ValidateAuthenticationStateAsync(string id)
|
|
||||||
{
|
|
||||||
return Result.Failed("NotImplemented");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
namespace SharpRSS.Data.Domains.Auth;
|
|
||||||
|
|
||||||
public class AuthenticationStateModel
|
|
||||||
{
|
|
||||||
public string Id { get; set; } = Guid.NewGuid().ToString();
|
|
||||||
public DateTime Created { get; set; } = DateTime.Now;
|
|
||||||
public DateTime LastHit { get; set; }
|
|
||||||
public string UserIdReference { get; set; } = string.Empty;
|
|
||||||
public bool LoggedIn { get; set; }
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
namespace SharpRSS.Data.Domains.Auth.Identity;
|
|
||||||
|
|
||||||
public class RoleModel
|
|
||||||
{
|
|
||||||
public string UserId { get; set; } = string.Empty;
|
|
||||||
public string RoleId { get; set; } = string.Empty;
|
|
||||||
public string Description { get; set; } = string.Empty;
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
namespace SharpRSS.Data.Domains.Auth.Identity;
|
|
||||||
|
|
||||||
public class UserModel
|
|
||||||
{
|
|
||||||
public string Id { get; set; } = Guid.NewGuid().ToString();
|
|
||||||
public string Email { get; set; } = string.Empty;
|
|
||||||
public string UserName { get; set; } = string.Empty;
|
|
||||||
public string PasswordHash { get; set; } = string.Empty;
|
|
||||||
public string Name { get; set; } = string.Empty;
|
|
||||||
public string FamilyName { get; set; } = string.Empty;
|
|
||||||
public DateTime CreatedDate { get; set; } = DateTime.Now;
|
|
||||||
public DateTime LastLogin { get; set; }
|
|
||||||
public bool IsEnabled { get; set; }
|
|
||||||
public bool IsAdmin { get; set; }
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
namespace SharpRSS.Data.Domains.Auth;
|
|
||||||
|
|
||||||
public class LoginModel
|
|
||||||
{
|
|
||||||
public string UserName { get; set; } = string.Empty;
|
|
||||||
public string Password { get; set; } = string.Empty;
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
namespace SharpRSS.Data.Domains.Auth;
|
|
||||||
|
|
||||||
public class RegisterModel
|
|
||||||
{
|
|
||||||
public string UserName { get; set; } = string.Empty;
|
|
||||||
public string Password { get; set; } = string.Empty;
|
|
||||||
public string Name { get; set; } = string.Empty;
|
|
||||||
public string FamilyName { get; set; } = string.Empty;
|
|
||||||
public string Email { get; set; } = string.Empty;
|
|
||||||
}
|
|
|
@ -15,6 +15,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Folder Include="Domains\" />
|
||||||
<Folder Include="Repositories\" />
|
<Folder Include="Repositories\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user