20 lines
No EOL
1 KiB
C#
20 lines
No EOL
1 KiB
C#
using Femto.Modules.Auth.Application.Dto;
|
|
using Femto.Modules.Auth.Models;
|
|
|
|
namespace Femto.Modules.Auth.Application.Services;
|
|
|
|
/// <summary>
|
|
/// I broke off IAuthService from IAuthModule because the CQRS distinction is cumbersome when doing auth handling,
|
|
/// particularly in regards to session management. I may or may not bother to move the commands and queries here also,
|
|
/// but for controller actions I do quite like having the abstraction, and there is less drive within me to bother.
|
|
/// It just seems redundant to expose them both, and it's a bit confusin'
|
|
/// </summary>
|
|
public interface IAuthService
|
|
{
|
|
public Task<UserInfo?> GetUserWithCredentials(string username, string password, CancellationToken cancellationToken = default);
|
|
public Task<UserInfo?> GetUserWithId(Guid? userId, CancellationToken cancellationToken = default);
|
|
public Task<Session> CreateStrongSession(Guid userId);
|
|
public Task<Session> CreateWeakSession(Guid userId);
|
|
public Task<Session?> GetSession(string sessionId);
|
|
public Task DeleteSession(string sessionId);
|
|
} |