Add JWT auth, token service & Neutrino endpoint
This commit is contained in:
7
RecNet.Domain/Services/Configuration/IConfigService.cs
Normal file
7
RecNet.Domain/Services/Configuration/IConfigService.cs
Normal 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);
|
||||
}
|
||||
9
RecNet.Domain/Services/Tokens/ITokenService.cs
Normal file
9
RecNet.Domain/Services/Tokens/ITokenService.cs
Normal 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);
|
||||
}
|
||||
5
RecNet.Domain/Services/Tokens/TokenResult.cs
Normal file
5
RecNet.Domain/Services/Tokens/TokenResult.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
namespace RecNet.Domain.Services.Tokens;
|
||||
|
||||
public sealed record TokenResult(
|
||||
string AccessToken,
|
||||
int ExpiresIn);
|
||||
21
RecNet.Domain/Services/Tokens/TokenVerifyResult.cs
Normal file
21
RecNet.Domain/Services/Tokens/TokenVerifyResult.cs
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user