Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }