24 lines
721 B
C#

using UserManagement.Application.Interfaces;
using UserManagement.Infrastructure.Interfaces;
namespace UserManagement.Application.Services
{
public class AuthService : IAuthService
{
// CTOR
private readonly IUserRepository _userRepository;
public AuthService(IUserRepository userRepository)
{
_userRepository = userRepository;
}
// AUTHENTICATE
public async Task<bool> ValidateAsync(string username, string password)
{
var user = await _userRepository.GetByUsernameAsync(username, includeRoles: true);
return BCrypt.Net.BCrypt.Verify(password, user!.PasswordHash);
}
}
}