public async Task <IActionResult> Send(string phone) { //Phone ==> read DB to indicate AuthyId Customer khachHang = _context.Customer.SingleOrDefault(kh => kh.PhoneNumber == phone); if (khachHang != null && !string.IsNullOrEmpty(khachHang.AuthyId)) { var sendSMSResponse = await _authy.SendSmsAsync(khachHang.AuthyId).ConfigureAwait(false); if (sendSMSResponse.StatusCode == HttpStatusCode.OK) { var smsVerificationSucceedObject = JsonConvert.DeserializeObject <AccessCodeVerifyResult>(await sendSMSResponse.Content.ReadAsStringAsync()); if (smsVerificationSucceedObject.Success) { //Send SMS success return(Content($"Gửi token thành công tới {phone}")); } else { //Fail return(Content($"Có lỗi gửi tin nhắn tới {phone}")); } } } return(Content($"Không có khách hàng nào có điện thoại: {phone}")); }
public async Task <JsonResult> SendTwoFactorAuthToken() { var userRequest = await _userManager.GetCurrentUserAsync(); if (!userRequest.IsSuccess) { return(Json(userRequest)); } var tokenRequest = await _authy.GetUserAuthyTokenAsync(userRequest.Result); if (!tokenRequest.IsSuccess) { return(Json(tokenRequest)); } var result = await _authy.SendSmsAsync(tokenRequest.Result); return(Json(result)); }
public async Task <IActionResult> Login([Bind("UserName", "Password")] LoginViewModel loginViewModel, string ReturnUrl = null) { Customer customer = _ctx.Customer.AsNoTracking().SingleOrDefault(p => p.UserName == loginViewModel.UserName && p.Password == MyHashTool.GetMd5Hash(loginViewModel.Password)); if (customer != null) { if (customer.PhoneNumberConfirmed == false) { var claims = new List <Claim> { new Claim(ClaimTypes.Name, customer.FirstName + " " + customer.LastName), new Claim(ClaimTypes.Role, "Customer") }; ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Customer"); ClaimsPrincipal claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync("Customer", claimsPrincipal); HttpContext.Session.SetObject <Customer>("Customer", customer); TempData["ThongBao"] = "Đăng nhập thành công"; } else if (customer.PhoneNumberConfirmed == true && customer.AuthyId != null) { // Gửi sms mã xác nhận var sendSMSResponse = await _authy.SendSmsAsync(customer.AuthyId).ConfigureAwait(false); if (sendSMSResponse.StatusCode == HttpStatusCode.OK) { var smsVerificationSucceedObject = JsonConvert.DeserializeObject <AccessCodeVerifyResult>(await sendSMSResponse.Content.ReadAsStringAsync()); if (smsVerificationSucceedObject.Success) { ViewBag.CustomerId = customer.CustomerId; ViewBag.ResultSMS = "Gửi mã thành công!"; //Send SMS success return(View("VerifyUser")); } else { ViewBag.CustomerId = customer.CustomerId; ViewBag.ResultSMS = "Gửi mã thất bại!"; //Fail return(View("VerifyUser")); } } else { ViewBag.ResultSMS = "Gửi mã thất bại!"; return(View("Login")); } } } else { ViewBag.ResultLogin = "******"; return(View()); } if (Url.IsLocalUrl(ReturnUrl)) { return(Redirect(ReturnUrl)); } return(RedirectToAction("Index", "Home")); }