You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

29 lines
1.1 KiB

using Easy;
using Easy.DDD.Domain;
using Easy.DDD.Domain.Repositories;
using IdentityServer.DDD.Domain.Entites;
using IdentityServer.DDD.Shared.Consts;
using IdentityServer.DDD.Shared.IServices;
namespace IdentityServer.DDD.Domain.Services;
public class IdentityUserDomainService : DomainService, IIdentityUserDomainService
{
protected IRepository<IdentityUser> IdentityUserRepository { get; }
public IdentityUserDomainService(IRepository<IdentityUser> identityUserRepository)
{
IdentityUserRepository = identityUserRepository;
}
public async Task<IdentityUser> PasswordSignInAsync(string accout, string passwordHash)
{
When.Is(string.IsNullOrEmpty(accout), LoginResultConst.UserNameNotNullError);
When.Is(string.IsNullOrEmpty(passwordHash), LoginResultConst.PassWordNotNullError);
var identityUser = await IdentityUserRepository
.FirstOrDefaultAsync(o => o.UserAccount == accout && o.PasswordHash == passwordHash);
When.Is(identityUser == null, LoginResultConst.PassWordLoginError);
return identityUser;
}
}