public async Task <IActionResult> Login(LoginModel model) { ApplicationUser user = await userManager.FindByEmailAsync(model.Email); var result = await signInManager.PasswordSignInAsync(user, model.Password, true, false); if (result.Succeeded) { var jwtResponse = jwtAuthenticator.GenerateJwtToken(user); return(Ok(jwtResponse)); } return(BadRequest("Invalid Auth Credentials")); }
public async Task <LoginOutputDto> PostAsync(LoginInputDto input) { var result = await _signInManager.PasswordSignInAsync(input.Name, input.Password, false, true); if (!result.Succeeded) { throw new BusinessException("Login Faild"); } var user = await _userManager.FindByNameAsync(input.Name); if (user != null) { if (user == null) { throw new BusinessException("Login Faild"); } var roles = await _userManager.GetRolesAsync(user); if (roles == null || roles.Count == 0) { throw new BusinessException("Login Faild"); } var token = GenerateJwt(user, roles.ToList()); var loginOutputDto = ObjectMapper.Map <IdentityUser, LoginOutputDto>(user); loginOutputDto.Token = token; loginOutputDto.Expiration = DateTime.Now.AddHours(_jwtOptions.ExpirationTime); return(loginOutputDto); } throw new BusinessException("Login Faild"); }
public async System.Threading.Tasks.Task <Microsoft.AspNetCore.Mvc.IActionResult> Login(Models.ViewModels.LoginModel accountViewModel) { if (ModelState.IsValid) { Microsoft.AspNetCore.Identity.IdentityUser user = await userManager.FindByNameAsync(accountViewModel.Name); if (user != null) { await signInManager.SignOutAsync(); if ((await signInManager.PasswordSignInAsync(user, accountViewModel.Password, false, false)).Succeeded) { return(Redirect(accountViewModel?.ReturnUrl ?? "/Admin/Index")); } } } ModelState.AddModelError("", "Invalid name or password"); return(View(accountViewModel)); }
public async Task <ApiResult> PostAsync(LoginInputDto input) { var result = await _signInManager.PasswordSignInAsync(input.Name, input.Password, false, true); if (!result.Succeeded) { return(ApiResult.Error()); } var user = await _userManager.FindByNameAsync(input.Name); if (user == null) { user = await _userManager.FindByEmailAsync(input.Name); if (user == null) { return(ApiResult.Error()); } } var roles = await _userManager.GetRolesAsync(user); if (roles == null || roles.Count == 0) { return(ApiResult.Error()); } var token = GenerateJwt(user, roles.ToList()); var loginOutputDto = ObjectMapper.Map <IdentityUser, LoginOutputDto>(user); loginOutputDto.Token = token; loginOutputDto.Expiration = DateTime.Now.AddHours(_jwtOptions.ExpirationTime); return(ApiResult.Ok(data: loginOutputDto)); }