Esempio n. 1
0
        public async Task <IActionResult> GetLogin()
        {
            LoginViewModelRes objLoginVMRes = new LoginViewModelRes();
            await Task.Delay(3000);

            return(Ok(objLoginVMRes));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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);
        }