public ActionResult RegisterViaFacebook(string signed_request) { var signedRequest = FacebookSignedRequest.Parse(AppSettingConfig.Current.FacebookApplicationSecret, signed_request); string name = ((dynamic)signedRequest.Data).registration.name; string nickname = ((dynamic)signedRequest.Data).registration.nickname; string email = ((dynamic)signedRequest.Data).registration.email; string password = ((dynamic)signedRequest.Data).registration.password ?? Guid.NewGuid().ToString(); var model = new RegisterModel() { Email = email, Password = password, UserName = nickname }; model.ConfirmPassword = model.Password; var validationContext = new ValidationContext(model, null, null); var validationResults = new List<ValidationResult>(); if (!Validator.TryValidateObject(model, validationContext, validationResults, true)) { foreach(var error in validationResults) { ModelState.AddModelError("", error.ErrorMessage); } } return Register(model); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user MembershipCreateStatus createStatus; Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); if (createStatus == MembershipCreateStatus.Success) { FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */); return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", ErrorCodeToString(createStatus)); } } // If we got this far, something failed, redisplay form return View("Register", model); }