public async Task<IActionResult> Login([FromBody]LoginViewModel model, string returnUrl = null) { var user = new ApplicationUser { UserName = model.Login }; ViewData["ReturnUrl"] = returnUrl; if (!ModelState.IsValid) return new ObjectResult(new { message = "campos obrigatórios", status = "error" }); if (!Services.Login.ValidaLogin(user.UserName)) return new ObjectResult(new { message = "formato incorreto do login/email", status = "error" }); try { var singIn = await _signInManager.PasswordSignInAsync(user.UserName, model.Password, model.RememberMe, lockoutOnFailure: false); if (singIn != SignInResult.Success) return new ObjectResult(new { message = "login inválido", status = "error" }); var _user = await _userManager.FindByNameAsync(model.Login); if (_user == null) return new BadRequestObjectResult(new { message = $"Erro no servidor: Usuário não pode ser criado" }); else user = _user; } catch (System.Exception ex) { return new BadRequestObjectResult(new { message = $"Erro no servidor: {ex.Message}" }); } return new HttpOkObjectResult(new { returnUrl = returnUrl }); }