public JsonResult ValidateTokenUser() { string token = null; if (Request.Headers.AllKeys.Contains("access_token")) { token = Request.Headers.GetValues("access_token").FirstOrDefault(); } using (SoHoaEntities db = new SoHoaEntities()) { AccessToken accessToken = db.AccessTokens.FirstOrDefault(x => x.Token.Equals(token)); S_Users user = db.S_Users.FirstOrDefault(x => x.UserName.Equals(accessToken.UserName)); if (user != null) { return(Json( new { User = new { UserId = user.UserID, UserName = user.UserName, } }, JsonRequestBehavior.AllowGet)); } } return(Json("Error", JsonRequestBehavior.AllowGet)); }
public JsonResult Login(LoginForm login) { using (SoHoaEntities db = new SoHoaEntities()) { S_Users user = db.S_Users.SingleOrDefault(x => x.UserName == login.Username); if (user != null) { string passwordSalt = user.PasswordSalt; string passwordInput = AuthenticationHelper.GetMd5Hash(passwordSalt + login.Password); string passwordUser = user.Password; if (passwordInput.Equals(passwordUser)) { TokenProvider tokenProvider = new TokenProvider(); TokenIdentity token = tokenProvider.GenerateToken(login.Username, Request.Headers["User-Agent"].ToString(), HttpContext.Request.UserHostAddress, Guid.NewGuid().ToString(), DateTime.Now.AddHours(7).Ticks); token.SetAuthenticationType("Custom"); token.SetIsAuthenticated(true); db.AccessTokens.Add(new AccessToken() { Token = token.Token, EffectiveTime = new DateTime(token.EffectiveTime), ExpiresIn = token.ExpiresTime, IP = token.IP, UserAgent = token.UserAgent, UserName = token.Name }); db.SaveChanges(); return(Json( new { Token = token, Profile = new { Username = token.UserName, FullName = user.UserName, }, User = new { UserName = user.UserName, UserId = user.UserID } })); } } } return(Json("Login failed!")); }