Adding authentication and authorization flow

This commit is contained in:
2025-02-26 22:23:15 +01:00
parent 176f149be3
commit 76779afd2e
22 changed files with 562 additions and 19 deletions

View File

@@ -0,0 +1,9 @@
namespace BasicDotnetTemplate.MainProject.Models.Api.Common.Role;
public class UserRole
{
#nullable enable
public string? Guid { get; set; }
public string? Name { get; set; }
#nullable disable
}

View File

@@ -0,0 +1,19 @@
using BasicDotnetTemplate.MainProject.Models.Api.Common.Role;
namespace BasicDotnetTemplate.MainProject.Models.Api.Common.User;
public class AuthenticatedUser
{
#nullable enable
public string? Guid { get; set; }
public string? Username { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? Email { get; set; }
public UserRole? Role { get; set; }
#nullable disable
}

View File

@@ -0,0 +1,13 @@
namespace BasicDotnetTemplate.MainProject.Models.Api.Data.Auth;
public class AuthenticateRequestData
{
#nullable enable
public string? Username { get; set; }
public string? Password { get; set; }
#nullable disable
}

View File

@@ -0,0 +1,14 @@
using BasicDotnetTemplate.MainProject.Models.Api.Data.Auth;
namespace BasicDotnetTemplate.MainProject.Models.Api.Request.Auth;
public class AuthenticateRequest
{
#nullable enable
public AuthenticateRequestData? Data { get; set; }
#nullable disable
}

View File

@@ -3,6 +3,7 @@ namespace BasicDotnetTemplate.MainProject.Models.Database.SqlServer
public class Base
{
public int Id { get; set; }
public string Guid { get; set; }
public DateTime CreationTime { get; set; }
public int CreationUserId { get; set; }
public DateTime UpdateTime { get; set; }

View File

@@ -7,6 +7,8 @@ public class AppSettings
public PrivateSettings? PrivateSettings { get; set; }
public OpenApiSettings? OpenApiSettings { get; set; }
public DatabaseSettings? DatabaseSettings { get; set; }
public JWTSettings? JWTSettings { get; set; }
public EncryptionSettings? EncryptionSettings { get; set; }
#nullable disable
}

View File

@@ -0,0 +1,8 @@
namespace BasicDotnetTemplate.MainProject.Models.Settings;
public class EncryptionSettings
{
#nullable enable
public string? Salt { get; set; }
#nullable disable
}

View File

@@ -0,0 +1,12 @@
namespace BasicDotnetTemplate.MainProject.Models.Settings;
public class JWTSettings
{
#nullable enable
public string? ValidAudience { get; set; }
public string? ValidIssuer { get; set; }
public string? Secret { get; set; }
public int? ExpiredAfterMinsOfInactivity { get; set; }
#nullable disable
}