public virtual async Task <IHttpActionResult> ResetPasswordAsync(ResetPasswordRequest resetPasswordRequest) { if (resetPasswordRequest == null) { return(BadRequest("No body found in the request")); } var returnUrl = resetPasswordRequest.ReturnUrl; if (string.IsNullOrWhiteSpace(returnUrl) || !UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), returnUrl)) { returnUrl = MyAccountUrlProvider.GetLoginUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }); } var ticket = HttpUtility.UrlDecode(resetPasswordRequest.Ticket); var resetPasswordViewModel = await MembershipViewService.ResetPasswordAsync(new ResetPasswordParam { Ticket = ticket, NewPassword = resetPasswordRequest.NewPassword, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, ReturnUrl = returnUrl }); return(Ok(resetPasswordViewModel)); }
public virtual async Task <IHttpActionResult> ChangePasswordAsync(ChangePasswordRequest changePasswordRequest) { if (changePasswordRequest == null) { return(BadRequest("No body found in the request")); } if (!ComposerContext.IsAuthenticated) { return(Unauthorized()); } var returnUrl = changePasswordRequest.ReturnUrl; if (!UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), returnUrl)) { returnUrl = null; } var changePasswordViewModel = await MembershipViewService.ChangePasswordAsync(new ChangePasswordParam { CustomerId = ComposerContext.CustomerId, NewPassword = changePasswordRequest.NewPassword, OldPassword = changePasswordRequest.OldPassword, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, ReturnUrl = returnUrl }); return(Ok(changePasswordViewModel)); }
public virtual IHttpActionResult Logout(LogoutRequest logoutRequest) { if (logoutRequest == null) { throw new ArgumentNullException(nameof(logoutRequest)); } var response = new LogoutResponse(); if (!logoutRequest.PreserveCustomerInfo) { MembershipViewService.LogOutCustomer(); } FormsAuthentication.SignOut(); EditingOrderProvider.ClearEditMode(); response.ReturnUrl = logoutRequest.ReturnUrl; if (string.IsNullOrWhiteSpace(response.ReturnUrl) || !UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), response.ReturnUrl)) { response.ReturnUrl = MyAccountUrlProvider.GetLoginUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }); } return(Ok(response)); }
public virtual IHttpActionResult Register(RegisterRequest registerRequest) { //todo: Captcha for bots or not?! if (registerRequest == null) { return(BadRequest("No body found in the request")); } var returnUrl = registerRequest.ReturnUrl; if (string.IsNullOrWhiteSpace(returnUrl) || !UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), returnUrl)) { returnUrl = MyAccountUrlProvider.GetMyAccountUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }); } var registerParam = new CreateUserParam { Username = registerRequest.Username, Password = registerRequest.Password, Email = registerRequest.Email, FirstName = registerRequest.FirstName, LastName = registerRequest.LastName, PhoneNumber = registerRequest.PhoneNumber, PasswordQuestion = registerRequest.PasswordQuestion, PasswordAnswer = registerRequest.PasswordAnswer, ReturnUrl = returnUrl, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, GuestCustomerId = ComposerContext.CustomerId }; var createAccountViewModel = MembershipViewService.RegisterAsync(registerParam).Result; if (!createAccountViewModel.IsSuccess) { return(Ok(createAccountViewModel)); } var loginParam = new LoginParam { CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, GuestCustomerId = ComposerContext.CustomerId, Username = registerRequest.Email, Password = registerRequest.Password }; var loginViewModel = MembershipViewService.LoginAsync(loginParam).Result; ComposerContext.IsGuest = false; ComposerContext.CustomerId = createAccountViewModel.CustomerId; FormsAuthentication.SetAuthCookie(createAccountViewModel.Username, true, WebsiteContext.WebsiteId.ToString()); return(Ok(createAccountViewModel)); }
public virtual IHttpActionResult SignIn(LoginViewModel loginRequest) { if (loginRequest == null) { return(BadRequest("Request body cannot be null")); } var returnUrl = loginRequest.ReturnUrl; if (string.IsNullOrWhiteSpace(returnUrl) || !UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), returnUrl)) { returnUrl = MyAccountUrlProvider.GetMyAccountUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }); } var loginParam = new LoginParam { Password = loginRequest.Password, Username = loginRequest.Username, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, ReturnUrl = returnUrl, GuestCustomerId = ComposerContext.CustomerId, }; var loginViewModel = MembershipViewService.LoginAsync(loginParam).Result; if (!loginViewModel.IsSuccess) { return(Ok(loginViewModel)); } ComposerContext.CustomerId = loginViewModel.CustomerId; ComposerContext.IsGuest = false; if (loginRequest.IsRememberMe) { FormsAuthentication.SetAuthCookie( loginViewModel.Username, SiteConfiguration.CookieAccesserSettings.TimeoutInMinutes, loginRequest.IsRememberMe, WebsiteContext.WebsiteId.ToString(), SiteConfiguration.CookieAccesserSettings.RequireSsl); } else { FormsAuthentication.SetAuthCookie(loginViewModel.Username, true, WebsiteContext.WebsiteId.ToString()); } return(Ok(loginViewModel)); }
public virtual async Task <IHttpActionResult> IsUserExist(string email) { var getCustomerByEmailParam = new GetCustomerByEmailParam { CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, Email = email }; var isUserExistViewModel = await MembershipViewService.GetIsUserExistViewModelAsync(getCustomerByEmailParam); return(Ok(isUserExistViewModel)); }
public virtual async Task <IHttpActionResult> SignIn() { var getSignInHeaderParam = new GetSignInHeaderParam { CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, IsAuthenticated = ComposerContext.IsAuthenticated, EncryptedCustomerId = ComposerContext.GetEncryptedCustomerId() }; var signInHeaderViewModel = await MembershipViewService.GetSignInHeaderModel(getSignInHeaderParam); return(Ok(signInHeaderViewModel)); }
public virtual async Task <IHttpActionResult> UserMetadata() { var getParam = new GetUserMetadataParam { CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, IsAuthenticated = ComposerContext.IsAuthenticated, EncryptedCustomerId = ComposerContext.GetEncryptedCustomerId() }; var vm = await MembershipViewService.GetUserMetadataModel(getParam); return(Ok(vm)); }
public virtual async Task <IHttpActionResult> ForgotPasswordAsync(ForgotPasswordRequest forgotPasswordRequest) { if (forgotPasswordRequest == null) { return(BadRequest("No body found in the request")); } var forgotPasswordViewModel = await MembershipViewService.ForgotPasswordAsync(new ForgotPasswordParam { Email = forgotPasswordRequest.Email, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo }); return(Ok(forgotPasswordViewModel)); }