Example #1
0
        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);
            }
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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());
        }
Example #6
0
        /// <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);
        }