public JsonResult SetAccessToken(string accessToken) { if (!String.IsNullOrEmpty(accessToken)) { UserSettings.AccessToken = accessToken; UserSettings.FacebookUserId = _facebookService.GetUserId(accessToken); _userService.UpdateUser(UserSettings); return(Json(true)); } return(Json(false)); }
public ActionResult LogOn(LogOnViewModel model) { if (!ModelState.IsValid) { return(LogOnResult(model)); } string userName = model.FacebookUserId.ToString(); long facebookUserId = _facebookClient.GetUserId(model.AccessToken); if (facebookUserId == 0) { ModelState.AddModelError("AccessToken", "Invalid AccessToken"); } if (facebookUserId != model.FacebookUserId) { ModelState.AddModelError("FacebookUserId", "Invalid FacebookUserId."); } if (!ModelState.IsValid) { return(LogOnResult(model)); } User user = UserService.GetUser(model.FacebookUserId) ?? new User(); user.AccessToken = model.AccessToken; UserService.UpdateUser(user); UserSettings = user; if (!User.Identity.IsAuthenticated) { FormsAuthentication.SetAuthCookie(userName, false); } else if (User.Identity.Name != userName) { FormsAuthentication.SignOut(); FormsAuthentication.SetAuthCookie(userName, false); } return(LogOnResult(model)); }
public ActionResult LogOn(LogOnViewModel model) { if (!ModelState.IsValid) { return(LogOnResult(model)); } string userName = model.FacebookUserId.ToString(); long facebookUserId = _facebookClient.GetUserId(model.AccessToken); if (facebookUserId == 0) { ModelState.AddModelError("AccessToken", "Invalid AccessToken"); } if (facebookUserId != model.FacebookUserId) { ModelState.AddModelError("FacebookUserId", "Invalid FacebookUserId."); } if (!ModelState.IsValid) { return(LogOnResult(model)); } User user = UserService.GetUser(model.FacebookUserId) ?? new User { FacebookUserId = model.FacebookUserId }; user.AccessToken = model.AccessToken; UserService.UpdateUser(user); UserSettings = user; _authenticationService.SignIn(userName); return(LogOnResult(model)); }