public async Task <RegisterResultDto> Register(RegisterInfoDto registerInfo) { var result = new RegisterResultDto(); var user = new UserEntity { UserName = registerInfo.Username, DisplayName = registerInfo.Username }; IdentityResult creareUserResult = await _userManager.CreateAsync(user, registerInfo.Password); if (creareUserResult.Succeeded) { result.Result = RegisterResultEnum.Success; result.Token = _tokenService.GetToken(user); } else if (creareUserResult.Errors.Any(x => string.Equals(x.Code, "DuplicateUserName"))) { result.Result = RegisterResultEnum.UsernameAlreadyExists; } else { result.Result = RegisterResultEnum.Unknown; } return(result); }
public async Task <RegisterResultDto> Register(RegisterUserDto registerInfo) { CheckCode(registerInfo.Code); //可能您需要对手机号进行唯一验证.. var user = MiCakeApp.User.Create(registerInfo.Phone, registerInfo.Password, registerInfo.Name, registerInfo.Age); await _userRepo.AddUserAsync(user); return(RegisterResultDto.RegisterSuccess(user.Id)); }
public async Task <RegisterResultDto> RegisterUser(RegisterWeChatUserDto userDto) { CheckValue.NotNullOrWhiteSpace(userDto.SessionKey, "SessionKey"); var weChatSessionInfo = await _weChatSessionStore.GetSessionInfo(userDto.SessionKey) ?? throw new ArgumentException("没有找到匹配的微信密匙信息"); var newUser = MiCakeApp.User.Create(userDto.Phone, "abc12345", userDto.Name, userDto.Age); //可能你还有其它的验证逻辑,比如包括该手机号码是否已经被使用等等。 //这些领域逻辑可能会被移动至单独的领域服务来处理. await _userRepository.AddAsync(newUser); await _wechatRepository.AddAsync(new UserWithWechat(newUser.Id, weChatSessionInfo.OpenId)); return(RegisterResultDto.RegisterSuccess(newUser.Id)); }
public AccountControllerFixture() { ApiVersion = new ApiVersion(1, 0); MockAccountRepository = new Mock <IAccountRepository>(); HttpContext = new DefaultHttpContext(); Users = new List <GetUserDto> { new GetUserDto { Id = Guid.NewGuid(), FirstName = "Anna", LastName = "Domino", Email = "*****@*****.**", PhoneNumber = "", Roles = new List <string> { "SuperAdmin", "Admin", "Report", "Normal" } }, new GetUserDto { Id = Guid.NewGuid(), FirstName = "Neil", LastName = "Down", Email = "*****@*****.**", PhoneNumber = "", Roles = new List <string> { "Admin" } }, new GetUserDto { Id = Guid.NewGuid(), FirstName = "Mark", LastName = "Ateer", Email = "*****@*****.**", PhoneNumber = "", Roles = new List <string> { "Report", "Normal" } }, new GetUserDto { Id = Guid.NewGuid(), FirstName = "Dave", LastName = "Allippa", Email = "*****@*****.**", PhoneNumber = "", Roles = new List <string> { "Normal" } } }; ValidLoginDto = new LoginDto { Email = "*****@*****.**", Password = "******" }; ValidRegisterAdminDto = new RegisterAdminDto { FirstName = "John", LastName = "Quil", ConfirmPassword = "******", Password = "******", Email = "*****@*****.**" }; ValidRegisterNormalDto = new RegisterNormalDto { FirstName = "Rose", LastName = "Bush", ConfirmPassword = "******", Password = "******", Email = "*****@*****.**", Roles = new List <string> { "Report", "Normal" } }; ValidLoginDto = new LoginDto { Email = "*****@*****.**", Password = "******" }; ValidRefreshDto = new RefreshDto { RefreshToken = "this is refresh token" }; ValidRevokeDto = new RevokeDto { RefreshToken = "this is refresh JWT token" }; SuccessAdminRegisterResultDto = new RegisterResultDto { Status = "Success", Message = "User created successfully, grant Admin access." }; FailedRegisterResultDto = new RegisterResultDto { Status = "Failed", Message = "Failed to create new user." }; SuccessNormalRegisterResultDto = new RegisterResultDto { Status = "Success", Message = $"User created successfully, grant {string.Join(", ", ValidRegisterNormalDto.Roles)} access." }; ValidTokenResultDtoResult = new TokenResultDto { AccessToken = "this will be a JWT access token", RefreshToken = "this will be a JWT refresh token", }; CurrentUserDtoResult = new CurrentUserDto { FirstName = "Simon", LastName = "Sais", Email = "*****@*****.**", Roles = new List <string> { "SuperAdmin", "Admin" }, FullName = "Simon Sais", UserId = Guid.Parse("77d8500b-dd97-4b6d-ce43-08d8aa3916b9") }; }