public async Task <IActionResult> Login(LoginInputModel loginInputModel) { if (_users.ValidateCredentials(loginInputModel.Email, loginInputModel.Password)) { var user = _users.FindByUsername(loginInputModel.Email); await _events.RaiseAsync(new UserLoginSuccessEvent(user.Username, user.SubjectId, user.Username)); AuthenticationProperties props = new AuthenticationProperties { IsPersistent = false, ExpiresUtc = DateTimeOffset.UtcNow.AddHours(1) }; await HttpContext.SignInAsync(user.SubjectId, user.Username, props, user.Claims.ToArray()); return(Redirect(loginInputModel.ReturnUrl)); } Log.Logger.Error(HttpContext.Connection.RemoteIpAddress.ToString() + " tried to login with username " + loginInputModel.Email + " and password " + loginInputModel.Password + ". <-- Login attempt was rejected due to invalid credentials"); //Show user error; example wrong login credentials ViewBag.ReturnUrl = loginInputModel.ReturnUrl; var vm = new LoginViewModel { Error = "Invalid credentials", ReturnUrl = loginInputModel.ReturnUrl, IsSuccessfull = false }; return(View("~/Views/LoginView/LoginView.cshtml", vm)); }
public async Task <IActionResult> Login(string returnUrl) { var validUrl = await ValidateRedirectUrl(returnUrl); if (!validUrl) { Log.Logger.Error("Tried to fetch CM-Admin login view with error --> bad return url: " + returnUrl); return(Redirect($"{_identityConfig.Value.IdentityServerUrl}/Home/Error?errorId=1")); } ViewBag.ReturnUrl = returnUrl; var vm = new LoginViewModel { Error = "", ReturnUrl = returnUrl, IsSuccessfull = true }; return(View("~/Views/LoginView/LoginView.cshtml", vm)); }