Beispiel #1
0
        public async Task SignInAsync_Should_Fail_Using_Wrong_Password()
        {
            // Arrange
            RegisterUserDto registerUserDto = new RegisterUserDto
            {
                Email    = "*****@*****.**",
                Password = "******",
                UserName = "******"
            };
            SignUpResultDto signUpResultDto = await UserService.SignUpAsync(registerUserDto);

            Assert.IsTrue(signUpResultDto.Success);
            LoginUserDto loginUserDto = new LoginUserDto
            {
                Email    = "*****@*****.**",
                Password = "******"
            };

            // Act
            // NOTE: The UserManager is used here instead of UserService so it skips the actual SignIn into the HttpContext
            ValidateResultDto validateResultDto = await UserManager.ValidateAsync("Email", loginUserDto.Email, loginUserDto.Password);

            // Assert
            Assert.IsFalse(validateResultDto.Success);
        }
Beispiel #2
0
        public async Task <SignUpResultDto> SignUp(SignUpViewModel model)
        {
            var result = new SignUpResultDto();

            try
            {
                var response = await PostAsync(_endpointConfiguration.GetIdentityToken, model);

                if (response.StatusCode != HttpStatusCode.InternalServerError)
                {
                    var raw = await response.Content.ReadAsStringAsync();

                    var apiResult = JsonConvert.DeserializeObject <ActionResultModel>(raw);

                    if (apiResult.Code == ActionCode.Created)
                    {
                        result.Succeeded = true;
                    }
                }
                else
                {
                    _logger.LogError(string.Format("Error: status code {0}", response.StatusCode));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }

            return(result);
        }
Beispiel #3
0
        public override async Task <SignUpReply> SignUp(SignUpRequest request, ServerCallContext context)
        {
            var             signUpInfoDto = _mapper.Map <SignUpInfoDto>(request);
            SignUpResultDto result        = await _authService.SignUpAsync(signUpInfoDto);

            return(_mapper.Map <SignUpReply>(result));
        }
Beispiel #4
0
        public async Task <IActionResult> RegisterUserAsync([FromBody] RegisterViewModel registerViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Json(ModelState.DefaultInvalidModelStateWithErrorMessages()));
            }

            RegisterUserDto registerUserDto      = registerViewModel.GetRegisterUserDto();
            SignUpResultDto createIdentityResult = await _userService.SignUpAsync(registerUserDto);

            return(Json(createIdentityResult.Success
                ? new { success = true }
                : new { success = false }));
        }
Beispiel #5
0
        public async Task RegisterUserAsync_Should_Pass()
        {
            // Arrange
            RegisterUserDto registerUserDto = new RegisterUserDto
            {
                Email    = "*****@*****.**",
                Password = "******",
                UserName = "******"
            };

            // Act
            SignUpResultDto signUpResultDto = await UserService.SignUpAsync(registerUserDto);

            // Assert
            Assert.IsTrue(signUpResultDto.Success);
        }
Beispiel #6
0
        public async Task RegisterUserAsync_Should_Fail_Because_Of_Empty_Password()
        {
            // Arrange
            RegisterUserDto registerUserDto = new RegisterUserDto
            {
                Email    = "*****@*****.**",
                Password = "",
                UserName = "******"
            };

            // Act
            SignUpResultDto signUpResultDto = await UserService.SignUpAsync(registerUserDto);

            // Assert
            Assert.IsFalse(signUpResultDto.Success);
            Assert.AreEqual(signUpResultDto.Error, SignUpResultError.SecretIsNullOrEmpty);
        }
Beispiel #7
0
        public async Task <IActionResult> SignUp(SignUpViewModel model)
        {
            if (ModelState.IsValid)
            {
                //var result = await _authService.SignUp(model);
                var result = new SignUpResultDto
                {
                    Succeeded = true,
                    User      = new UserDto
                    {
                        Id    = 123,
                        Email = "*****@*****.**"
                    },
                    Data = "test_jwt"
                };

                if (result.Succeeded)
                {
                    var token = result.Data as string;

                    var claims = new List <Claim>
                    {
                        new Claim(ClaimTypes.NameIdentifier, result.User.Id.ToString()),
                        new Claim(ClaimTypes.Name, result.User.Email),
                        new Claim("Token", result.Data as string)
                    };

                    var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);


                    await HttpContext.SignInAsync(new ClaimsPrincipal(claimsIdentity));

                    return(Ok(User?.Claims));
                }
            }

            IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);

            // todo

            return(BadRequest(allErrors));
        }