public User(UserRegisterRequestDTO v) { FirstName = v.FirstName; LastName = v.LastName; Username = v.Username; Password = v.Password; }
public ResponseResult <UserRegisterResponseDTO> UserRegister(UserRegisterRequestDTO request) { UserRegisterResponseDTO response = new UserRegisterResponseDTO(); var app = OAuthAppCache.Get(request.Appid); if (app == null) { return(Fail <UserRegisterResponseDTO>("无效的应用ID", "0400")); } //先注册,再登录发放TOKEN RegisterProvider provider = new RegisterProvider(request.UserCode, request.Password, request.SmsCode, request.RefereeCode); if (!provider.Register()) { return(Fail <UserRegisterResponseDTO>(provider.PromptInfo.CustomMessage)); } LoginProvider loginProvider = new LoginProvider(request.UserCode, request.Password, "basic"); if (loginProvider.Login(request.Client.Type, request.Client.System, request.Client.DeviceId, request.Client.IP, request.Client.SessionId, request.Client.Version, app.Id)) { response.RegisterResult = true; response.Expires = loginProvider.OAuthUser.Expire_In; response.Openid = loginProvider.OAuthUser.Open_Id; response.RefreshExpires = loginProvider.OAuthUser.Refresh_Expire_In; response.RefreshToken = loginProvider.OAuthUser.Refresh_Token; response.Token = loginProvider.OAuthUser.Token; response.UserCode = loginProvider.User.UserCode; } if (!response.RegisterResult) { Log.Info(string.Concat("注册成功,登录失败!", Environment.NewLine, loginProvider.PromptInfo.MessageStack)); } return(Success(response)); }
public async Task <ActionResult> Register([FromBody] UserRegisterRequestDTO userDto) { try { await _userService.Create(userDto); return(Ok()); } catch (ApplicationException ex) { return(BadRequest(new { message = ex.Message })); } }
public async Task Create(UserRegisterRequestDTO userDto) { // Generate verification code string code = Guid.NewGuid().ToString("n").Substring(0, 8); while (_context.UnverifiedUser.Any(x => x.VerificationCode == code)) { code = Guid.NewGuid().ToString("n").Substring(0, 8); } User user = new User { UserName = userDto.Username, Email = userDto.Email, FirstName = userDto.FirstName, LastName = userDto.LastName, PhoneNumber = userDto.PhoneNumber, NumberOfBooks = 0, Points = 0, EmailConfirmed = false, Role = "Member" }; var resultCreate = await _userManager.CreateAsync(user, userDto.Password); var resultRole = await _userManager.AddToRoleAsync(user, user.Role); // Unverified user if (resultCreate.Succeeded && resultRole.Succeeded) { UnverifiedUser unverifiedUser = new UnverifiedUser { UserId = user.Id, VerificationCode = code }; await _context.UnverifiedUser.AddAsync(unverifiedUser); await _context.SaveChangesAsync(); _logger.LogInformation("User created a new account with password."); await _signInManager.SignInAsync(user, isPersistent : false); // Send email SendVerificationEmail(user, code); } else { throw new EntityInvalidationException(string.Join(", ", resultCreate.Errors.Select(x => "Code " + x.Code + " Description" + x.Description))); } }
public override Task <UserRegisterResponseDTO> UserRegister(UserRegisterRequestDTO request, ServerCallContext context) { return(Task.Run(() => { UserRegisterResponseDTO response = new UserRegisterResponseDTO(); var app = OAuthAppCache.Get(request.Appid); if (app == null) { response.RetCode = "0400"; response.RetMsg = "无效的应用ID"; return response; } //先注册,再登录发放TOKEN RegisterProvider provider = new RegisterProvider(request.UserCode, request.Password, request.SmsCode, request.RefereeCode); if (!provider.Register()) { response.RetCode = xUtils.TransformFailRetCode(provider.PromptInfo.ResultType); response.RetMsg = provider.PromptInfo.CustomMessage; return response; } LoginProvider loginProvider = new LoginProvider(request.UserCode, request.Password, "basic"); if (loginProvider.Login(request.Client.Type, request.Client.System, request.Client.DeviceId, request.Client.Ip, request.Client.SessionId, request.Client.Version, app.Id)) { response.Data = new UserRegisterResponseDTO.Types.Result { Expires = loginProvider.OAuthUser.Expire_In, Openid = loginProvider.OAuthUser.Open_Id, RefreshExpires = loginProvider.OAuthUser.Refresh_Expire_In, RefreshToken = loginProvider.OAuthUser.Refresh_Token, Token = loginProvider.OAuthUser.Token, UserCode = loginProvider.User.UserCode }; } if (response.Data == null) { Log.Info(string.Concat("注册成功,登录失败!", Environment.NewLine, loginProvider.PromptInfo.MessageStack)); } response.RetCode = "0000"; response.RetMsg = "ok"; return response; })); }
public IActionResult Register(UserRegisterRequestDTO user) { _userService.Create(user); return(Ok("{}")); }
public void Create(UserRegisterRequestDTO model) { _userRepository.Create(new User(model)); _userRepository.Save(); }