コード例 #1
0
        public async Task <IActionResult> EnterSmsCode(EnterSMSCodeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var mail = await _dbContext.UserEmails.SingleOrDefaultAsync(t => t.EmailAddress == model.Email.ToLower());

            if (mail == null)
            {
                return(NotFound());
            }
            var user = await _dbContext
                       .Users
                       .Include(t => t.Emails)
                       .SingleOrDefaultAsync(t => t.Id == mail.OwnerId);

            if (user.SMSPasswordResetToken.ToLower().Trim() == model.Code.ToLower().Trim())
            {
                user.SMSPasswordResetToken = string.Empty;
                await _userManager.UpdateAsync(user);

                var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                return(RedirectToAction(nameof(ResetPassword), new { code = token }));
            }
            else
            {
                ModelState.AddModelError("", "Your code is not correct and we can't help you reset your password!");
                return(View(model));
            }
        }
コード例 #2
0
        public async Task <IActionResult> EnterSMSCode(EnterSMSCodeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.ModelStateValid = false;
                return(View(model));
            }
            var user = await _userManager.FindByEmailAsync(model.Email);

            if (user.SMSPasswordResetToken.ToLower().Trim() == model.Code.ToLower().Trim())
            {
                user.SMSPasswordResetToken = string.Empty;
                await _userManager.UpdateAsync(user);

                var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                return(RedirectToAction(nameof(ResetPassword), new { code = token }));
            }
            else
            {
                model.ModelStateValid = false;
                ModelState.AddModelError("", "Your code is not correct and we can't help you reset your password!");
                return(View(model));
            }
        }
コード例 #3
0
        public async Task <IActionResult> EnterSmsCode(string email)
        {
            var mail = await _dbContext.UserEmails.SingleOrDefaultAsync(t => t.EmailAddress == email.ToLower());

            if (mail == null)
            {
                return(NotFound());
            }
            var user = await _dbContext
                       .Users
                       .Include(t => t.Emails)
                       .SingleOrDefaultAsync(t => t.Id == mail.OwnerId);

            if (user == null || user.PhoneNumberConfirmed == false)
            {
                return(NotFound());
            }
            var phoneLast = user.PhoneNumber.Substring(user.PhoneNumber.Length - 4);
            var model     = new EnterSMSCodeViewModel
            {
                Email     = email,
                PhoneLast = phoneLast
            };

            return(View(model));
        }
コード例 #4
0
        public async Task <IActionResult> EnterSMSCode(string Email)
        {
            var user = await _userManager.FindByEmailAsync(Email);

            if (user == null || user.PhoneNumberConfirmed == false)
            {
                return(NotFound());
            }
            var phoneLast = user.PhoneNumber.Substring(user.PhoneNumber.Length - 4);
            var model     = new EnterSMSCodeViewModel
            {
                Email     = Email,
                PhoneLast = phoneLast
            };

            return(View(model));
        }