public async Task <IActionResult> LoginUser([FromBody] User_For_Login_Dto userForLoginDto)
        {
            var login = await _authentication.login_user(userForLoginDto);

            if (login == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(login));
            }
        }
Exemple #2
0
        public async Task <User_Logged_Dto> login_user(User_For_Login_Dto userForLoginDto)
        {
            var user = await _userManager.FindByNameAsync(userForLoginDto.UserName);

            if (user == null)
            {
                return(null);
            }

            var result = await _signInManager.CheckPasswordSignInAsync(user, userForLoginDto.Password, false);

            if (result.Succeeded)
            {
                // here you can configure the data to attach to the logged user in a
                // variable like appuser (refer to video udemy section identity==>updating login)
                //  in the code just below we go look for the user and include his photos
                // var appUser = await _userManager.Users
                //                     .Include(p => p.Photos)
                //                     .FirstOrDefaultAsync( u => u.NormalizedUserName == userForLoginDto.UserName.ToUpper);

                var userRoles = new List <string> ();

                var token = JwtTokenGenerationHelper.token(user, _config, _userManager, userRoles).Result;

                var userToReturn = _mapper.Map <User_For_Registration_Dto>(user);

                if (user.UserRoles != null)
                {
                    userToReturn.Roles = (from r in user.UserRoles select new Role_Dto {
                        role_id = r.Role.Id, role_name = r.Role.Name
                    }).ToList();
                }


                if (!userRoles.Contains("SuperAdmin"))
                {
                    if (!userRoles.Contains("Admin"))
                    {
                        userToReturn.permission = JsonConvert.DeserializeObject <List <Permission_Dto> >(user.UserAccessingEntityWithPermissions);
                    }
                }

                return(new User_Logged_Dto()
                {
                    token = token,
                    user = userToReturn
                });
            }

            return(null);
        }
Exemple #3
0
        public async void Test1Async()
        {
            /*  using(var server = CreateServer())
             * {
             *   var login = new User_For_Login_Dto();
             *
             *   login.UserName="******";
             *   login.Password="******";
             *
             *   var response = await server.CreateClient()
             *                .PostAsJsonAsync("/api/auth/LoginUser", login);
             *
             *   var   htt = response;
             * } */
            var login = new User_For_Login_Dto();

            login.UserName = "******";
            login.Password = "******";
            //  var auth = new Authentication();

            // var result = auth.login_user(login);

            Assert.Equal(1, 1);
        }