public SignUpParam InputValidate(string userId, string password) { SignUpParam signUpParam = new SignUpParam(); //入力されたuserIdが空かどうかチェック if (string.IsNullOrEmpty(userId)) { //存在していた場合POSTを失敗で終了 signUpParam.HasError = true; signUpParam.BlankUserId = true; return(signUpParam); } //入力されたpasswordが空かどうかチェック if (string.IsNullOrEmpty(password)) { //存在していた場合POSTを失敗で終了 signUpParam.HasError = true; signUpParam.BlankPassword = true; return(signUpParam); } //入力されたパスワードが指定文字数を満たしているかどうかチェック if (password.Length < 6) { //存在していた場合POSTを失敗で終了 signUpParam.HasError = true; signUpParam.ShortPassword = true; return(signUpParam); } //入力されたuserIdが半角英数字のみで構成されているかチェック if (!_checkString.isAlphaNumericPlusAlphaOnly(userId)) { signUpParam.HasError = true; signUpParam.UnSpecifiedUserId = true; return(signUpParam); } //passwordポリシーに適しているかどうかチェック if (!_checkString.isAlphaNumericPlusAlphaOnly(password)) { signUpParam.HasError = true; signUpParam.UnSpecifiedPassword = true; return(signUpParam); } signUpParam.IsSuccessed = true; return(signUpParam); }
public SignUpPageViewModel(INavigationService navigationService) : base(navigationService) { _navigationService = navigationService; _restService = new RestService(); _checkString = new CheckString(); _signUpParam = new SignUpParam(); _signUpValidation = new SignUpValidation(_checkString); SignUpCommand = new DelegateCommand(async() => { SignUpLoading = true; //新規登録の入力系バリデーション SignUpParam = _signUpValidation.InputValidate(SignUpUserId, SignUpPassword); if (SignUpParam.HasError == true) { SignUpLoading = false; return; } //新規登録APIのコール SignUpParam = await _restService.SignUpUserDataAsync(UserConstants.OpenUserEndPoint, SignUpUserId, SignUpPassword); //新規登録にエラーが無く追加が実行されていればLoginPageに遷移する if (SignUpParam.HasError == false) { SignUpLoading = false; await _navigationService.NavigateAsync("/NavigationPage/LoginPage"); } else { SignUpLoading = false; } }); GoBackCommand = new DelegateCommand(async() => { _ = await _navigationService.GoBackAsync(); }); }
public IHttpActionResult Register([FromBody] SignUpParam param) { try { if (log.IsDebugEnabled) { log.Debug("Register Call Recevied, parameters:" + param); } return (Ok( _registrationApplicationService.CreateAccount(new SignupUserCommand(param.Email, param.Username, param.Password, param.Country, param.TimeZone, param.PgpPublicKey)))); } catch (InvalidOperationException exception) { if (log.IsErrorEnabled) { log.Error("Register Call Exception ", exception); } return(BadRequest(exception.Message)); } catch (InvalidCredentialException exception) { if (log.IsErrorEnabled) { log.Error("Register Call Exception ", exception); } return(BadRequest(exception.Message)); } catch (Exception exception) { if (log.IsErrorEnabled) { log.Error("Register Call Exception ", exception); } return(InternalServerError()); } }
/// <summary> /// /ユーザー情報を新規登録するAPIコール /// </summary> /// <param name="uri">コールするURL</param> /// <param name="userId">登録するユーザーID</param> /// <param name="password">登録するパスワード</param> /// <returns>SignUpParam</returns> public async Task <SignUpParam> SignUpUserDataAsync(string uri, string userId, string password) { var user = new UserData(userId, password); var json = JsonConvert.SerializeObject(user); var signUpParam = new SignUpParam(); try { var content = new StringContent(json, Encoding.UTF8, "application/json"); //テーブル内にuserIdが存在するかどうかチェック if (await CheckUserDataAsync(uri, userId)) { //存在していた場合POSTを失敗で終了 signUpParam.HasError = true; signUpParam.UserExists = true; return(signUpParam); } var response = await _client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { string responseContent = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseContent); signUpParam.IsSuccessed = response.IsSuccessStatusCode; return(signUpParam); } } catch (Exception ex) { Debug.WriteLine("\tERROR {0}", ex.Message); } return(signUpParam); }
public async Task <ApiRequestResult> SignUp([FromBody] SignUpParam param) { var userId = Guid.NewGuid(); var asampleUser = new ASampleUser { Id = userId.ToString(), UserName = param.UserName, Email = param.Email, PhoneNumber = param.PhoneNumber, }; var hashedNewPassword = _userManager.PasswordHasher.HashPassword(asampleUser, param.Password); var user = new TUser { Id = userId, UserName = param.UserName, Email = param.Email, PhoneNumber = param.PhoneNumber, Password = hashedNewPassword, //OrgId = param.OrgId, //LoginName = param.LoginName, }; await _userRepository.AddAsync(user); //var asampleUser = new ASampleUser //{ // UserName = param.UserName, // Email = param.Email, // PhoneNumber = param.PhoneNumber, //}; var result = await _userManager.CreateAsync(asampleUser, param.Password); if (result.Succeeded) { return(ApiRequestResult.Success("注册成功")); } return(ApiRequestResult.Error(result.Errors.FirstOrDefault().Description)); }