/// <summary> /// Get key Authentication for case Licence Invalid. /// </summary> /// <param name="userName"></param> /// <param name="password"></param> /// <returns></returns> private string GetKeyAuthentication(string userName, string password) { var user = _userService.GetUserByUserNameAndPass(userName, password); if (user == null) { var claimException = new InvalidClaimsException("InvalidUserAndPasswordText") { QuickspatchUserName = userName }; throw claimException; } var passPhrase = ConfigurationManager.AppSettings["PassPhrase"]; if (string.IsNullOrEmpty(passPhrase)) { throw new Exception("Missing config PassPhrase"); } var obj = new { UserName = userName, Password = password }; var data = JsonConvert.SerializeObject(obj); var encryptData = EncryptHelper.Encrypt(data, passPhrase); var bas64EncodeData = EncryptHelper.Base64Encode(encryptData); return(bas64EncodeData); }
protected virtual void SetClientHeader(HttpClient client, string baseAddressRewrite = "") { if (!string.IsNullOrEmpty(baseAddressRewrite)) { client.BaseAddress = new Uri(baseAddressRewrite); } else { client.BaseAddress = new Uri(WebApiUrl); } HttpCookie tokenClaimCookie = GetLastCookie(ClaimsDeclaration.TokenClaim); if (tokenClaimCookie == null) { var claimException = new InvalidClaimsException("InvalidAccessToken") { QuickspatchUserName = string.Empty }; throw claimException; } string token = tokenClaimCookie.Value; client.SetBearerToken(token); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); }
private bool SignInToWebApi(FranchisseNameAndLicenseDto objFranchiseeAndLicense, string keyAuthentication) { //var claimExceptiona = new InvalidClaimsException("InvalidLicenseKey", keyAuthentication) //{ // QuickspatchUserName = string.Empty //}; //throw claimExceptiona; // Get token if (ConstantValue.DeploymentMode == DeploymentMode.Camino) { return(true); } // Get token var objTokenStore = _webApiUserService.GetToken(objFranchiseeAndLicense); if (objTokenStore == null) { var claimException = new InvalidClaimsException("InvalidLicenseKey", keyAuthentication) { QuickspatchUserName = string.Empty }; throw claimException; } if (!string.IsNullOrEmpty(objTokenStore.AccessToken)) { // Store token to cookie var accessTokenCookie = new HttpCookie(ClaimsDeclaration.TokenClaim, objTokenStore.AccessToken) { HttpOnly = true, Expires = DateTime.UtcNow.AddDays(7) }; if (HttpContext.Response.Cookies[ClaimsDeclaration.TokenClaim] != null) { HttpContext.Response.Cookies.Remove(ClaimsDeclaration.TokenClaim); } HttpContext.Response.Cookies.Add(accessTokenCookie); var refreshTokenCookie = new HttpCookie(ClaimsDeclaration.RefreshTokenClaim, objTokenStore.RefreshToken) { HttpOnly = true, Expires = DateTime.UtcNow.AddYears(1) }; if (HttpContext.Response.Cookies[ClaimsDeclaration.RefreshTokenClaim] != null) { HttpContext.Response.Cookies.Remove(ClaimsDeclaration.RefreshTokenClaim); } HttpContext.Response.Cookies.Add(refreshTokenCookie); } return(false); }
public bool SignIn(string userName, string password, bool rememberMe, string deploymentMode) { // encript pasword var claims = ClaimsManager.CreateClaims(userName, password).ToList(); var user = ClaimsManager.ValidateQuickspatchUserLogin(claims); if (user == null || !user.IsQuickspatchUser) { var claimException = new InvalidClaimsException("InvalidUserAndPasswordText") { QuickspatchUserName = (user != null) ? user.UserName : string.Empty }; _diagnosticService.Error(SystemMessageLookup.GetMessage("InvalidUserAndPasswordText")); _diagnosticService.Error("UserName:"******"LoginWithInacticeUser"); _diagnosticService.Error(SystemMessageLookup.GetMessage("LoginWithInacticeUser")); _diagnosticService.Error("UserName:"******"Camino" && user.Courier != null) { var claimException = new UserVisibleException("LoginWithCourierUser"); _diagnosticService.Error(SystemMessageLookup.GetMessage("LoginWithCourierUser")); _diagnosticService.Error("UserName:" + userName); throw claimException; } var principal = CreatePrincipalFromClaimsAndUser(user, claims); FormAuthenticationService.SignIn(principal, true, principal.AuthToken, DateTime.UtcNow.AddMinutes(MaxSessionDuration)); return(true); }