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)); } }
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); }
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); }