public ActionResult <LoginFormResponse> Post([FromBody] OtpLoginForm otpLoginForm) { LoginFormResponse loginFormResponse = _userBiz.AuthenticateUserByMobileNumber(otpLoginForm); return(Ok(loginFormResponse)); }
public ActionResult <LoginFormResponse> Post([FromBody] LoginForm loginForm) { LoginFormResponse loginFormResponse = _userBiz.AuthenticateUser(loginForm); return(Ok(loginFormResponse)); }
public LoginFormResponse AuthenticateUserByMobileNumber(OtpLoginForm otpLoginForm) { LoginFormResponse otpLoginFormResponse = new LoginFormResponse() { StatusCode = 200 }; if (otpLoginForm == null) { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "Request Object can't be blank." } }; return(otpLoginFormResponse); } if (string.IsNullOrWhiteSpace(otpLoginForm.MobileNumber)) { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "MobileNumber can't be blank." } }; return(otpLoginFormResponse); } if (string.IsNullOrWhiteSpace(otpLoginForm.Otp)) { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "Otp can't be blank." } }; return(otpLoginFormResponse); } if (otpLoginForm.CountryCode <= 0) { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "CountryCode can't be blank." } }; return(otpLoginFormResponse); } if (!Regex.IsMatch(otpLoginForm.MobileNumber, RegexPattern.mobile_number_validation_Patterns.GetCombinedPattern())) { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, FieldName = nameof(otpLoginForm.MobileNumber), Message = nameof(otpLoginForm.MobileNumber) + " should be valid. Format -: xxxxxxxxxx " } }; return(otpLoginFormResponse); } bool isMobileNumberExist = _userLayer.isExistPhoneNumber(otpLoginForm.MobileNumber); if (isMobileNumberExist) { SmsApiResponse smsApiResponse = _smsBiz.VerifyOtpSms(new VerifyOtpRequest() { Mobile = otpLoginForm.MobileNumber, Otp = otpLoginForm.Otp, CountryCode = otpLoginForm.CountryCode }); if (smsApiResponse.StatusCode == 200) { UserInformation userInformation = _userLayer.GetUserDetailByMobileNumber(otpLoginForm.MobileNumber); if (userInformation != null) { JwtTokenResponse jwtTokenResponse = GetJWTToken(userInformation); if (jwtTokenResponse.StatusCode == 200) { JwtToken tokenDetail = jwtTokenResponse.TokenDetail; otpLoginFormResponse.StatusCode = 200; otpLoginFormResponse.Response = new LoginResponse(); otpLoginFormResponse.Response.UserId = userInformation.UserId; if (tokenDetail != null) { otpLoginFormResponse.Response.TokenDetail = new Token() { Type = tokenDetail.Type, Value = tokenDetail.Value, CreatedAt = tokenDetail.CreatedAt, ExpiredAt = tokenDetail.ExpiredAt }; } } else { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = jwtTokenResponse .ErrorList .Select(x => new LoginValidationResponse() { FieldName = x.FieldName, Message = x.Message, Code = x.Code }).ToList(); } } } else { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = smsApiResponse.ErrorList.Select(x => new LoginValidationResponse() { Code = x.Code, Message = x.Message }).ToList(); } } else { otpLoginFormResponse.StatusCode = 400; otpLoginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = nameof(otpLoginForm.MobileNumber) + " not found." } }; } return(otpLoginFormResponse); }
public LoginFormResponse AuthenticateUser(LoginForm loginForm) { LoginFormResponse loginFormResponse = new LoginFormResponse() { StatusCode = 200 }; try { if (loginForm == null) { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "Request Object can't be blank." } }; return(loginFormResponse); } if (string.IsNullOrWhiteSpace(loginForm.UserName)) { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "UserName can't be blank." } }; return(loginFormResponse); } if (string.IsNullOrWhiteSpace(loginForm.Password)) { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "Password can't be blank." } }; return(loginFormResponse); } if (!Regex.IsMatch(loginForm.UserName, RegexPattern.mobile_number_validation_Patterns.GetCombinedPattern())) { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, FieldName = nameof(loginForm.UserName), Message = nameof(loginForm.UserName) + " should be valid. Format -: xxxxxxxxxx " } }; return(loginFormResponse); } UserInformation userInformation = _userLayer.GetUserDetail(loginForm); if (userInformation != null) { JwtTokenResponse jwtTokenResponse = GetJWTToken(userInformation); if (jwtTokenResponse.StatusCode == 200) { JwtToken tokenDetail = jwtTokenResponse.TokenDetail; loginFormResponse.StatusCode = 200; loginFormResponse.Response = new LoginResponse(); loginFormResponse.Response.UserId = userInformation.UserId; if (tokenDetail != null) { loginFormResponse.Response.TokenDetail = new Token() { Type = tokenDetail.Type, Value = tokenDetail.Value, CreatedAt = tokenDetail.CreatedAt, ExpiredAt = tokenDetail.ExpiredAt }; } } else { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = jwtTokenResponse .ErrorList .Select(x => new LoginValidationResponse() { FieldName = x.FieldName, Message = x.Message, Code = x.Code }).ToList(); } } else { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "User Not Found" } }; } } catch (Exception ex) { loginFormResponse.StatusCode = 400; loginFormResponse.ErrorList = new List <LoginValidationResponse>() { new LoginValidationResponse() { Code = 1001, Message = "User Authentication Failed" + ex.Message } }; } return(loginFormResponse); }
public LoginFormResponse GetLoginForm() { var response = new LoginFormResponse(); return(response.SetSuccessResponse(UserCredentials.Empty)); }