Esempio n. 1
0
        public async Task <User> Register(RegisterDTO registerDTO)
        {
            var objUser = new User();

            objUser.Email     = registerDTO.Email;
            objUser.Phone     = registerDTO.Phone;
            objUser.LastName  = registerDTO.LastName;
            objUser.FirstName = registerDTO.FirstName;
            objUser.Salt      = Cryptographic.GenerateSalt();
            objUser.Password  = Cryptographic.HashPasswordWidthSalt(Encoding.UTF8.GetBytes(registerDTO.Password), objUser.Salt);
            objUser.ProfileId = Constants.Profile.Cliente;
            objUser.StateId   = Constants.State.Activo;

            await _context.Users.AddAsync(objUser);

            await _context.SaveChangesAsync();

            return(objUser);
        }
Esempio n. 2
0
        public async Task <User> Login(string username, string password)
        {
            User objUser = await _context.Users.FirstOrDefaultAsync(x => x.Email == username || x.Phone == username);

            if (objUser == null)
            {
                return(null);
            }

            byte[] passwordEncrypt = Cryptographic.HashPasswordWidthSalt(Encoding.UTF8.GetBytes(password), objUser.Salt);

            if (!passwordEncrypt.SequenceEqual(objUser.Password))
            {
                return(null);
            }
            else
            {
                return(objUser);
            }
        }