コード例 #1
0
        public async Task <Optional <User> > Login(string email, string password)
        {
            var user = await _userDao.GetUserByEmail(email);

            if (user.IsEmpty)
            {
                return(Optional <User> .Empty());
            }

            string hash = Encoding.UTF8.GetString(user.Value.Password);

            // check if password match with hash
            if (_passwordEncoder.Verify(password, hash))
            {
                return(Optional <User> .of(new User
                {
                    Id = user.Value.Id,
                    Name = user.Value.Name,
                    Email = user.Value.Email
                }));
            }

            return(Optional <User> .Empty());
        }