public async Task <IActionResult> GetLogin() { LoginViewModelRes objLoginVMRes = new LoginViewModelRes(); await Task.Delay(3000); return(Ok(objLoginVMRes)); }
public async Task <IActionResult> Login(LoginViewModel objLoginVM) { LoginViewModelRes objLoginVMRes = new LoginViewModelRes(); objLoginVMRes = await _obISecurityService.AuthenticateUser(objLoginVM); if (objLoginVMRes.Status == "Y") { objLoginVMRes.SecurityToken = GenerateJWTToken(objLoginVMRes); } return(Ok(objLoginVMRes)); }
public async Task <LoginViewModelRes> AuthenticateUser(LoginViewModel objLoginViewModel) { LoginViewModelRes objLoginViewModelRes = new LoginViewModelRes(); Task <ModelResponse> objTask = _objIGblSecurityRepsitory.UserAuthenticationAsync(objLoginViewModel.UserLoginId, objLoginViewModel.UserPassword); ModelResponse objModelResponse = await objTask; if (objModelResponse.Status) { objLoginViewModelRes = new LoginViewModelRes((UserModel)objModelResponse.ReturnObj); objLoginViewModelRes.Status = "Y"; objLoginViewModelRes.Msg = "user credentails validated successfully."; } else { objLoginViewModelRes.Status = "F"; objLoginViewModelRes.Msg = "user credentails validation failed."; } return(objLoginViewModelRes); }
private string GenerateJWTToken(LoginViewModelRes objLoginViewModelRes) { string securityToken = string.Empty; JwtSecurityTokenHandler objJwtSecurityTokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_configAppSettings.SecurityKey); var objTokenDescriptor = new SecurityTokenDescriptor() { Subject = new ClaimsIdentity(new[] { new Claim("id", "1"), new Claim("loginid", objLoginViewModelRes.UserLoginId), new Claim("username", objLoginViewModelRes.UserName), new Claim("role", objLoginViewModelRes.RoleName) }), Expires = DateTime.UtcNow.AddDays(2), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature), }; var newsecurityToken = objJwtSecurityTokenHandler.CreateToken(objTokenDescriptor); securityToken = objJwtSecurityTokenHandler.WriteToken(newsecurityToken); return(securityToken); }