private bool AuthenticateRequest() { string password; string token; var user = GetUserCredentials(out password, out token); var authResult = _authProvider.AuthenticateUser(user, password, token); if (authResult.IsAuthenticated == false) { _context.Response.StatusCode = (int)HttpStatusCode.Unauthorized; _context.Response.StatusDescription = "THE REQUEST IS UNAUTHENTICATED, PLEASE LOGIN WITH VALID CREDENTILS"; _context.Response.ContentType = "text/plain"; return(false); } if (authResult.IsAuthenticated && authResult.NewTokenCreated) { _context.Response.StatusCode = (int)HttpStatusCode.OK; _context.Response.StatusDescription = "LOGIN SUCCEED, TOKEN IS A ATTACHED"; _context.Response.ContentType = "text/plain"; var tokenBytes = Encoding.UTF8.GetBytes(authResult.Token); _context.Response.OutputStream.Write(tokenBytes, 0, tokenBytes.Length); return(false); } return(true); }
private Task <ClaimsIdentity> GetClaimsIdentity(Credentials credentials, out string error) { AuthenticationResult result = _authenticationProvider.AuthenticateUser(credentials); error = result.ErrorMessage; return((result.IsSuccess) ? Task.FromResult(new ClaimsIdentity( new GenericIdentity(credentials.Username, "Token"), new[] { new Claim(nameof(result.UserProfile.Name), result.UserProfile.Name), })) : Task.FromResult <ClaimsIdentity>(null)); }
public ActionResult LoginUser(SignInModel signInModel) { //Check if the session already exists if (HttpContext.User.Identity.IsAuthenticated) { return(CurrentUmbracoPage()); } //Validate input model if (!ValidationFactory.ValidateLoginInput(signInModel).IsValid) { return(null); } //Authenticate user from database var user = _iAuth.AuthenticateUser(signInModel); if (user != null) { //Set Authentication Cookie FormsAuthentication.SetAuthCookie(user.UserGuid, signInModel.RememberMe); var cookie = System.Web.HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName]; if (cookie != null) { var ticket = FormsAuthentication.Decrypt(cookie.Value); if (ticket != null && !ticket.Expired) { var roles = (ticket.UserData ?? "").Split(','); System.Web.HttpContext.Current.User = new GenericPrincipal(new FormsIdentity(ticket), roles); } } //Set current user data to the Session SessionUtil.User = user; } //Log Entry return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }