public async Task LoginTest() { LoginResultViewmodel result = await _authenticationLogic.Login(new TestLogin().Login); Assert.AreNotEqual(new LoginResultViewmodel(), result); Assert.NotNull(result.RefreshToken); Assert.NotNull(result.Jwt); }
public async Task <LoginResultViewmodel> Authenticate(string username, string password) { var user = await userManager.FindByNameAsync(username); // Return null if user not found. if (user == null) { return(null); } // Authenticate the user. var signInResult = await signInManager.CheckPasswordSignInAsync(user, password, lockoutOnFailure : false); if (!signInResult.Succeeded) { return(null); } var roles = await userManager.GetRolesAsync(user); var userRole = SystemRoles.Admin; foreach (var role in roles) { switch (role) { case nameof(SystemRoles.Company): userRole = SystemRoles.Company; break; case nameof(SystemRoles.Client): userRole = SystemRoles.Client; break; } ; } var result = new LoginResultViewmodel { UserId = user.Id.ToString(), Result = signInResult, Role = userRole, Username = user.Email }; return(result); //return token; }
public async Task <ActionResult> Login([FromBody] Login login) { try { LoginResultViewmodel result = await _authorizationLogic.Login(login); return(Ok(result)); } catch (UnauthorizedAccessException) { return(Unauthorized()); } catch (DisabledUserException) { return(Forbid()); } catch (Exception e) { _logLogic.Log(e); return(StatusCode(StatusCodes.Status500InternalServerError)); } }