예제 #1
0
        public void When(AddSecurityPassword c)
        {
            var user  = new UserId(_identityGenerator.GetId());
            var salt  = _generator.CreateSalt();
            var token = _generator.CreateToken();
            var hash  = _generator.HashPassword(c.Password, salt);

            Apply(new SecurityPasswordAdded(c.Id, user, c.DisplayName, c.Login, hash, salt, token));
        }
예제 #2
0
        public void AddIdentity(IDomainIdentityService ids, PasswordGenerator pwds, string display, string identity)
        {
            var user  = new UserId(ids.GetId());
            var token = pwds.CreateToken();

            Apply(new SecurityIdentityAdded(_state.Id, user, display, identity, token));
        }
예제 #3
0
 public void AddIdentity(IDomainIdentityService ids, PasswordGenerator pwds, string display, string identity)
 {
     if (_state.ContainsIdentity(identity))
         return;
     var user = new UserId(ids.GetId());
     var token = pwds.CreateToken();
     Apply(new SecurityIdentityAdded(_state.Id, user, display, identity, token));
 }
예제 #4
0
        public void AddPassword(IDomainIdentityService ids, PasswordGenerator pwds,
            string display, string login, string password)
        {
            if (_state.ContainsLogin(login))
                throw DomainError.Named("duplicate-login", "Login {0} is already taken", login);

            var user = new UserId(ids.GetId());
            var salt = pwds.CreateSalt();
            var token = pwds.CreateToken();
            var hash = pwds.HashPassword(password, salt);
            Apply(new SecurityPasswordAdded(_state.Id, user, display, login, hash, salt, token));
        }
예제 #5
0
        public void AddPassword(IDomainIdentityService ids, IUserIndexService index, PasswordGenerator pwds,
                                string display, string login, string password)
        {
            if (index.IsLoginRegistered(login))
            {
                throw DomainError.Named("duplicate-login", "Login {0} is already taken", login);
            }

            var user  = new UserId(ids.GetId());
            var salt  = pwds.CreateSalt();
            var token = pwds.CreateToken();
            var hash  = pwds.HashPassword(password, salt);

            Apply(new SecurityPasswordAdded(_state.Id, user, display, login, hash, salt, token));
        }
예제 #6
0
        public void When(IDomainIdentityService ids, PasswordGenerator pwds, CreateSecurityFromRegistration c)
        {
            Apply(new SecurityAggregateCreated(c.Id));

            var user  = new UserId(ids.GetId());
            var salt  = pwds.CreateSalt();
            var token = pwds.CreateToken();
            var hash  = pwds.HashPassword(c.Pwd, salt);

            Apply(new SecurityPasswordAdded(c.Id, user, c.DisplayName, c.Login, hash, salt, token));
            if (!string.IsNullOrEmpty(c.OptionalIdentity))
            {
                AddIdentity(ids, pwds, c.DisplayName, c.OptionalIdentity);
            }
            Apply(new SecurityRegistrationProcessCompleted(c.Id, c.DisplayName, user, token, c.RegistrationId));
        }
예제 #7
0
        public void When(IDomainIdentityService ids, PasswordGenerator pwds, CreateSecurityFromRegistration c)
        {
            Apply(new SecurityAggregateCreated(c.Id));

            var user = new UserId(ids.GetId());
            var salt = pwds.CreateSalt();
            var token = pwds.CreateToken();
            var hash = pwds.HashPassword(c.Pwd, salt);

            Apply(new SecurityPasswordAdded(c.Id, user, c.DisplayName, c.Login, hash, salt, token));
            if (!string.IsNullOrEmpty(c.OptionalIdentity))
            {
                AddIdentity(ids, pwds, c.DisplayName, c.OptionalIdentity);
            }
            Apply(new SecurityRegistrationProcessCompleted(c.Id, c.DisplayName, user, token, c.RegistrationId));
        }