public async Task <JsonResult> LoginAndAssociate(string email, string password, bool persistCookie) { if (_userService.Login(email, password, persistCookie, HttpContext)) { var user = _userService.GetUserByEmail(email); var authentication = _owinContext.Authentication; var authResult = await _externalAuthentication.GetAuthenticationResult(authentication); if (authResult != null) { _userAssociationManager.Associate(user, authResult, HttpContext.Request.UserHostAddress); } return(Json(new BasicJsonMessage { Result = true })); } return(Json(new BasicJsonMessage { Result = false, Message = Resources.LoginBad })); }
public async Task <ViewResult> Create(SignupData signupData) { signupData.Validate(ModelState, _userService, HttpContext.Request.UserHostAddress); if (ModelState.IsValid) { var user = _userService.CreateUser(signupData, HttpContext.Request.UserHostAddress); _profileService.Create(user, signupData); var verifyUrl = this.FullUrlHelper("Verify", "Account"); var result = _newAccountMailer.Send(user, verifyUrl); if (result != System.Net.Mail.SmtpStatusCode.Ok) { ViewData["EmailProblem"] = Resources.EmailProblemAccount + result + "."; } if (_settingsManager.Current.IsNewUserApproved) { ViewData["Result"] = Resources.AccountReady; _userService.Login(user.Email, signupData.Password, false, HttpContext); } else { ViewData["Result"] = Resources.AccountReadyCheckEmail; } var authentication = _owinContext.Authentication; var authResult = await _externalAuthentication.GetAuthenticationResult(authentication); if (authResult != null) { _userAssociationManager.Associate(user, authResult, HttpContext.Request.UserHostAddress); } return(View("AccountCreated")); } SetupCreateData(); return(View(signupData)); }