public void Test_Register_Fail() { var regModel = new RegisterBindingModel() { FirstName = "Sam", LastName = "Sammuel", Age = 23, Email = "*****@*****.**", Password = "******", PasswordConfirmation = "Welcome20!9" }; var unexpResult = new RegisterAPIModel() { Message = "User has not been created", Success = false }; using (var context = GetContext()) { var service = new AuthService(_repo, _mapper); var actResult = service.Register(regModel); Assert.IsFalse(actResult.Message == unexpResult.Message); Assert.IsFalse(actResult.Success == unexpResult.Success); } }
/// <summary> /// Get ActiveDirectoryRegisterResponse /// </summary> /// <param name="model">ActiveDirectoryRegister model</param> /// <returns>List</returns> public ActiveDirectoryRegisterResponse ActiveDirectoryChangePasswordResponse(ActiveDirectoryRegister model) { ActiveDirectoryRegisterResponse response = null; var client = new RestClient(ProjectConfiguration.ActiveDirectoryChangePasswordUrl); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddHeader("access", ProjectConfiguration.AccessTokenForActiveDirectoryLogin); var requestBody = new RegisterAPIModel(); requestBody.FromWhere = 3; requestBody.Email = model.Email; requestBody.CurrentPassword = model.EncryptedPassword; requestBody.NewPassword = model.EncryptedNewPassword; requestBody.ConfirmPassword = model.EncryptedConfirmPassword; request.AddJsonBody(requestBody); IRestResponse res = client.Execute(request); if (res.StatusCode == HttpStatusCode.OK) { response = JsonConvert.DeserializeObject <ActiveDirectoryRegisterResponse>(res.Content); } return(response); }
/// <summary> /// Get ActiveDirectoryRegisterResponse /// </summary> /// <param name="model">ActiveDirectoryRegister model</param> /// <returns>List</returns> public ActiveDirectoryRegisterResponse ActiveDirectoryUpdateResponse(ActiveDirectoryRegister model) { ActiveDirectoryRegisterResponse response = null; var client = new RestClient(ProjectConfiguration.ActiveDirectoryUpdateUrl); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddHeader("access", ProjectConfiguration.AccessTokenForActiveDirectoryLogin); var requestBody = new RegisterAPIModel(); requestBody.FromWhere = 3; requestBody.UserId = model.UserId; requestBody.Email = model.Email; requestBody.Password = model.LoginType == SystemEnumList.LoginType.Staff.GetHashCode() ? "Admin@123" : model.EncryptedPassword; requestBody.FirstName = model.FirstName; requestBody.LastName = model.LastName; requestBody.CountryId = string.Empty; requestBody.StateId = string.Empty; requestBody.LanguageId = model.LanguageId; requestBody.IsADUser = model.LoginType == SystemEnumList.LoginType.Staff.GetHashCode(); request.AddJsonBody(requestBody); IRestResponse res = client.Execute(request); if (res.StatusCode == HttpStatusCode.OK) { response = JsonConvert.DeserializeObject <ActiveDirectoryRegisterResponse>(res.Content); } return(response); }
public async Task <IActionResult> RegisterUser(RegisterAPIModel registerAPIModel) { try { if (ModelState.IsValid) { Models.User user = await _context.Users.FirstOrDefaultAsync(u => u.Email == registerAPIModel.Email); if (user == null) { // добавляем пользователя в бд user = new Models.User { FirstName = registerAPIModel.FirstName, LastName = registerAPIModel.LastName, City = registerAPIModel.City, Email = registerAPIModel.Email, Phone = registerAPIModel.Phone, Birthday = registerAPIModel.Birthday, Name = registerAPIModel.Email, Password = registerAPIModel.Password }; Role userRole = await _context.Roles.FirstOrDefaultAsync(r => r.Name == "user"); if (userRole != null) { user.Role = userRole; } _context.Users.Add(user); await _context.SaveChangesAsync(); await Authenticate(user); // аутентификация var messageReg = CreateCustomStatus.CreateCustomStatusM("200", "Успех регистрации"); return(Ok(messageReg)); } else { return(Ok("Неправильные логин и(или) пароль")); } } else { return(Ok(new { Errors = ModelState.Errors() })); } } catch (Exception ex) { return(Ok(ex)); } }
public async Task <IActionResult> RegisterAsync(RegisterAPIModel model) { if (model.Password == model.Confirmpassword) { var newuser = new BlogUser() { Email = model.Email, UserName = model.Email, FirstName = model.FirstName, LastName = model.LastName }; var result = await _userManager.CreateAsync(newuser, model.Password); if (result.Succeeded) { var userFromDb = await _userManager.FindByEmailAsync(newuser.UserName); var token = await _userManager.GenerateEmailConfirmationTokenAsync(userFromDb); var uriBuilder = new UriBuilder(_config["ReturnPaths:confirmemail"]); var query = HttpUtility.ParseQueryString(uriBuilder.Query); query["token"] = token; query["userid"] = userFromDb.Id; uriBuilder.Query = query.ToString(); var urlString = uriBuilder.ToString(); await _emailSender.SendEmailAsync(userFromDb.Email, "Confirm your email address", $"Please confirm your account by <a href='{urlString}'>clicking here</a>."); //Add role to user //await _userManager.AddToRoleAsync(userFromDb, model.Role); //var claim = new Claim("JobTitle", model.JobTitle); //await _userManager.AddClaimAsync(userFromDb, claim); return(Ok(result)); } return(BadRequest(result)); } return(BadRequest()); }
/// <summary> /// Get ActiveDirectoryRegisterResponse /// </summary> /// <param name="email">Email</param> /// <param name="userId">userId</param> /// <returns>List</returns> public ActiveDirectoryDeleteResponse ActiveDirectoryDeleteResponse(string email, string userId) { ActiveDirectoryDeleteResponse response = null; var client = new RestClient(ProjectConfiguration.ActiveDirectoryDeleteUserUrl); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddHeader("access", ProjectConfiguration.AccessTokenForActiveDirectoryLogin); var requestBody = new RegisterAPIModel(); requestBody.FromWhere = 3; requestBody.UserId = userId; requestBody.Email = email; request.AddJsonBody(requestBody); IRestResponse res = client.Execute(request); if (res.StatusCode == HttpStatusCode.OK) { response = JsonConvert.DeserializeObject <ActiveDirectoryDeleteResponse>(res.Content); } return(response); }