public ActionResult Register(Models.RegisterModel model) { if (!ReCaptcha.Validate(DataUtils.GetConfig("reCaptcha:SecretKey"))) { ModelState.AddModelError("", "Captcha cannot be empty"); } if (ModelState.IsValid) { try { var users = _auth0Helper.SearchAuth0UserByEmail(model.EmailAddress); if (!users.Any()) { var newUser = new SignupUserRequest(); newUser.ClientId = Auth0Helper.Auth0ClientId; newUser.Connection = Auth0Helper.Connection; newUser.Email = model.EmailAddress; newUser.Password = model.Password; newUser.UserMetadata = new { model.FirstName, model.LastName, model.PhoneNumber }; SignupUserResponse response = _client.SignupUserAsync(newUser).Result; var customer = new AccountProfileModel(model.Content) { UserId = $"auth0|{response.Id}", EmailAddress = model.EmailAddress, FirstName = model.FirstName, LastName = model.LastName }; MailController.Instance(Request, model.Content, CurrentUser.LanguageCode).RegistrationConfirmMail(customer).Send(); return(Redirect($"/{CurrentUser.LanguageCode}/account/confirm-your-email-address/")); } else { var unverifiedUser = users.FirstOrDefault(u => u.UserId.StartsWith("auth0") && u.EmailVerified == false); if (unverifiedUser != null) { return(Redirect($"/{CurrentUser.LanguageCode}/account/resend-email-verification/?u={unverifiedUser.UserId}")); } ModelState.AddModelError("", "E-mail adress already exists"); } } catch (Exception e) { HandleAuth0Exception(e); } } return(CurrentUmbracoPage()); }
private async void RegisterUser(ANWI.Messaging.RegisterRequest reg) { logger.Info($"Registering new user {reg.username}"); SignupUserRequest req = new SignupUserRequest() { ClientId = Configuration.auth0Settings.client, Connection = Configuration.auth0Settings.connection, Email = reg.email, Password = reg.password }; ANWI.Messaging.RegisterResponse.Code code = ANWI.Messaging.RegisterResponse.Code.OK; try { SignupUserResponse resp = await auth0Client.SignupUserAsync(req); if (!CreateDatabaseUser(reg.username, "auth0|" + resp.Id)) { code = ANWI.Messaging.RegisterResponse. Code.FAILED_SERVER_ERROR; } } catch (Auth0.Core.Exceptions.ApiException e) { logger.Error( $"Failed to register email {reg.email}: {e.Message}"); code = ANWI.Messaging.RegisterResponse. Code.FAILED_ALREADY_EXISTS; } catch (Exception e) { logger.Error($"Other exception caught: {e.Message}"); code = ANWI.Messaging.RegisterResponse.Code.FAILED_SERVER_ERROR; } ANWI.Messaging.Message confirm = new ANWI.Messaging.Message( 0, new ANWI.Messaging.RegisterResponse(code)); SendMessage(confirm); }