public async Task <AppUser> AddSystemUser ( AppKey appKey, string machineName, IHashedPassword password, DateTimeOffset timeAdded ) { var user = await Add ( AppUserName.SystemUser(appKey, machineName), password, new PersonName($"{appKey.Name.DisplayText.Replace(" ", "")} {appKey.Type.DisplayText.Replace(" ", "")} {machineName}"), new EmailAddress(""), timeAdded ); var app = await factory.Apps().App(appKey); var role = await app.Role(AppRoleName.System); await user.AddRole(role); return(user); }
public async Task <AppUser> Verify(AppUserName userName, IHashedPassword hashedPassword) { var user = await factory.Users().User(userName); if (!user.Exists()) { throw new UserNotFoundException(userName.DisplayText); } if (!user.IsPasswordCorrect(hashedPassword)) { throw new PasswordIncorrectException(userName.DisplayText); } return(user); }
public async Task <AppUser> Add ( AppUserName userName, IHashedPassword password, PersonName name, EmailAddress email, DateTimeOffset timeAdded ) { var newUser = new AppUserRecord { UserName = userName.Value, Password = password.Value(), Name = name.Value, Email = email.Value, TimeAdded = timeAdded }; await factory.DB.Users.Create(newUser); return(factory.User(newUser)); }
public Task ChangePassword(IHashedPassword password) => factory.DB.Users.Update(record, u => u.Password = password.Value());
public bool IsPasswordCorrect(IHashedPassword hashedPassword) => hashedPassword.Equals(record.Password);
public Task <AppUser> Add ( AppUserName userName, IHashedPassword password, DateTimeOffset timeAdded ) => Add(userName, password, new PersonName(""), new EmailAddress(""), timeAdded);