public UserAccessDTO Authenticate(string username, string password, string Con) { var user = objUserAccess.CheckUser(username, password, Con); // var encrypt = _passwordHasher.HashPassword("K@pilit$12345"); //var decry = _passwordHasher.Decrypt(encrypt); // return null if user not found if (user == null && user.pPassword.Length > 0 || !_passwordHasher.PasswordMatches(password, user.pPassword)) { return(null); } if (user.pOtpAuthentication) { var Status = objUserAccess.SendOTP(Con, user.pMobile, Convert.ToString(user.pUserID), user.pEmail); } else { // authentication successful so generate jwt token var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.pRoleid.ToString()) }), Expires = DateTime.UtcNow.AddMinutes(180), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); user.pToken = tokenHandler.WriteToken(token); // remove password before returning user.pPassword = null; } return(user); }
public IActionResult checkUserLogin(string UserName, string Password) { UserAccessDTO user = new UserAccessDTO(); try { user = objUserAccess.CheckUser(UserName, Password, Con); } catch (Exception ex) { throw new FinstaAppException(ex.ToString()); } return(Ok(user)); }