Add JWT auth, token service & Neutrino endpoint

This commit is contained in:
Holden
2026-06-19 12:25:45 -05:00
parent 608def3ac8
commit 3eebfc9ba2
27 changed files with 581 additions and 51 deletions

View File

@@ -0,0 +1,7 @@
namespace RecNet.Domain.Services.Configuration;
public interface IConfigService
{
Task<T?> GetAsync<T>(string key, T? defaultValue = default, CancellationToken ct = default);
Task SetAsync<T>(string key, T value, CancellationToken ct = default);
}

View File

@@ -0,0 +1,9 @@
using RecNet.Domain.Entities.Profiles;
namespace RecNet.Domain.Services.Tokens;
public interface ITokenService
{
TokenResult GenerateProfileToken(Profile profile);
TokenVerifyResult VerifyToken(string token);
}

View File

@@ -0,0 +1,5 @@
namespace RecNet.Domain.Services.Tokens;
public sealed record TokenResult(
string AccessToken,
int ExpiresIn);

View File

@@ -0,0 +1,21 @@
using System.Security.Claims;
namespace RecNet.Domain.Services.Tokens;
public class TokenVerifyResult
{
public bool IsError { get; set; }
public IEnumerable<Claim> Claims { get; set; }
private TokenVerifyResult(bool isError, IEnumerable<Claim>? claims)
{
IsError = isError;
Claims = claims ?? [];
}
public static TokenVerifyResult Success(IEnumerable<Claim> claims)
=> new(false, claims);
public static TokenVerifyResult Failure()
=> new(true, null);
}