Polianin Nikita
cd6f25deba
All logic related to token manipulation has been transferred to the AuthService. Also added TOTP 2FA and rethought the logic of logging into the application
27 lines
825 B
C#
27 lines
825 B
C#
using Mirea.Api.Endpoint.Common.Services;
|
|
using Mirea.Api.Security.Common.Domain;
|
|
using System.IO;
|
|
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Mirea.Api.Endpoint.Configuration.Model;
|
|
|
|
public class Admin : ISaveSettings
|
|
{
|
|
[JsonIgnore] private const string FileName = "admin.json";
|
|
|
|
[JsonIgnore]
|
|
public static string FilePath => PathBuilder.Combine(FileName);
|
|
|
|
public required string Username { get; set; }
|
|
public required string Email { get; set; }
|
|
public required string PasswordHash { get; set; }
|
|
public required string Salt { get; set; }
|
|
public SecondFactor SecondFactor { get; set; } = SecondFactor.None;
|
|
public string? Secret { get; set; }
|
|
|
|
public void SaveSetting()
|
|
{
|
|
File.WriteAllText(FilePath, JsonSerializer.Serialize(this));
|
|
}
|
|
} |