DDD를 사용하여 인증 마이크로 서비스/도메인을 구축 중이며 각 서비스가 어디에 속하는지 식별하는 데 여전히 문제가 있습니다. 이 시점에서 인증 서비스가 도메인 서비스 또는 응용 프로그램 서비스에 속하는지 확실하지 않습니다.이 도메인 또는 응용 프로그램 서비스입니까?
도메인 serrvice에서이 동작을 래핑하고 응용 프로그램 서비스를 통해 응답 개체를 노출해야합니까? 아니면 응용 프로그램 서비스로 그대로 두어야합니다.
public class AuthenticationService : IAuthenticationService
{
IAuthUnitOfWork _uow;
IUserRepository _userRepository;
IUserTokenFactory _userTokenFactory;
public AuthenticationService(IUserTokenFactory userTokenFactory, IUserRepository userRepository,
IAuthUnitOfWork uow)
{
_userTokenFactory = userTokenFactory;
_userRepository = userRepository;
_uow = uow;
}
public async Task<UserTokenResponse> AuthenticateAsync(string email, string password)
{
var user = await _userRepository.GetByEmailAndPasswordAsync(email, password);
//TODO: Add null check for user
var userToken = await _userTokenFactory.CreateWithAsync(user);
await _uow.SaveChangesAsync();
return new UserTokenResponse
{
ExpiressOn = userToken.ExpiressOn,
Token = userToken.Token
};
}
}