コード例 #1
0
        public async Task <ActionResult <UserDto> > RegisterUser(RegisterDto registerDto)
        {
            Console.WriteLine(@"register user {0} {1}", registerDto.Name, registerDto.Password);

            var existingUser = await _userRepository.FindUserByName(registerDto.Name);

            if (existingUser != null)
            {
                Console.WriteLine("User Already Exists");
                return(BadRequest("User already exists"));
            }

            AppUser newUser = new AppUser {
                Name             = registerDto.Name,
                Password         = registerDto.Password,
                RegistrationDate = registerDto.RegistrationDate
            };

            _userRepository.CreateUser(newUser);

            return(new UserDto
            {
                Name = newUser.Name,
                Token = _tokenService.CreateToken(newUser)
            });
        }
コード例 #2
0
 private UserDTO returnRTO(EndUser user)
 {
     return(new UserDTO
     {
         Username = user.UserName,
         Token = _tokenService.CreateToken(user),
         ImageUrl = null
     });
 }
コード例 #3
0
 private ValidationResponseDTO ReturnValidation(EntityUser user)
 {
     return(new ValidationResponseDTO
     {
         Username = user.UserName,
         Email = user.Email,
         Token = _jwtTokenService.CreateToken(user)
     });
 }
コード例 #4
0
        private async Task <UserWithProfileDto> ExecuteCommandAndReturnUserWithToken <TCommand>(TCommand command)
            where TCommand : IRequest <UserWithProfileDto>
        {
            var dto = await mediator.Send(command);

            dto.Token = tokenService.CreateToken(dto.Email, dto.Id);

            return(dto);
        }
コード例 #5
0
        public void should_add_email_to_existing_claims_stored_in_token()
        {
            // given
            var roleClaim      = RoadkillClaims.AdminClaim;
            var existingClaims = new List <Claim>()
            {
                roleClaim
            };
            string email = "*****@*****.**";

            // when
            string token = _service.CreateToken(existingClaims, email);

            // then
            token.ShouldNotBeNullOrEmpty();
            _tokenHandler
            .Received()
            .CreateToken(Arg.Is <SecurityTokenDescriptor>(
                             x => x.Subject.Claims.Any(y => y.Type == roleClaim.Type && y.Value == roleClaim.Value) &&
                             x.Subject.Claims.Any(y => y.Type == ClaimTypes.Name && y.Value == email)));
        }
コード例 #6
0
ファイル: AccountController.cs プロジェクト: revers1/RovnoZyb
        public async Task <ResultDTO> Login([FromBody] UserLoginDTO model)
        {
            if (!ModelState.IsValid)
            {
                return(new ResultDTO
                {
                    Status = 400,
                    Message = "ErroR",
                    Errors = CustomValidator.GetErrorsByModel(ModelState)
                });
            }
            else
            {
                var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, false, false);

                if (!result.Succeeded)
                {
                    List <string> error = new List <string>();
                    error.Add("User not fount, password or email incorrect");


                    return(new ResultDTO
                    {
                        Status = 400,
                        Message = "User not found",
                        Errors = error
                    });
                }
                else
                {
                    var user = await _userManager.FindByEmailAsync(model.Email);

                    await _signInManager.SignInAsync(user, false);

                    return(new ResultDTO
                    {
                        Status = 200,
                        Message = "Ok",
                        Token = _iJwtTokenService.CreateToken(user)
                    });
                }
            }
        }