Saving changes

Using asymmetric validation
This commit is contained in:
Kun Deng
2022-08-13 18:23:03 -04:00
parent f0551a4801
commit 467a9d7e0f
12 changed files with 528 additions and 1 deletions
+38
View File
@@ -0,0 +1,38 @@
// using JwtAuthentication.Shared.Exceptions;
// using JwtAuthentication.Shared.Models;
using Icarus.Exceptions;
using Icarus.Models.Shared;
using Icarus.Services;
using Icarus.Repositories;
namespace Icarus.Services
{
public class UserService
{
private Microsoft.Extensions.Configuration.IConfiguration _configuration;
private readonly UserRepository userRepository;
public UserService(UserRepository userRepository, Microsoft.Extensions.Configuration.IConfiguration configuration)
{
this._configuration = configuration;
this.userRepository = userRepository;
}
public void ValidateCredentials(UserCredentials userCredentials)
{
Icarus.Models.User user = userRepository.GetUser(userCredentials.Username);
bool isValid = user != null && AreValidCredentials(userCredentials, user);
if (!isValid)
{
throw new InvalidCredentialsException();
}
}
private static bool AreValidCredentials(UserCredentials userCredentials, Icarus.Models.User user)
{
return user.Username == userCredentials.Username &&
user.Password == userCredentials.Password;
}
}
}