From 9d27fff825f4bd2c2854222ea112af34f6a2eac3 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 6 Apr 2019 22:18:45 -0400 Subject: [PATCH] Fixed: Don't Error to New Page on Failed Login --- .../Authentication/AuthenticationModule.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/Lidarr.Http/Authentication/AuthenticationModule.cs b/src/Lidarr.Http/Authentication/AuthenticationModule.cs index 3baa7662a..1cee2a789 100644 --- a/src/Lidarr.Http/Authentication/AuthenticationModule.cs +++ b/src/Lidarr.Http/Authentication/AuthenticationModule.cs @@ -4,6 +4,7 @@ using Nancy.Authentication.Forms; using Nancy.Extensions; using Nancy.ModelBinding; using NzbDrone.Common.EnsureThat; +using NzbDrone.Common.Extensions; using NzbDrone.Core.Authentication; using NzbDrone.Core.Configuration; @@ -24,16 +25,19 @@ namespace Lidarr.Http.Authentication private Response Login(LoginResource resource) { - Ensure.That(resource.Username, () => resource.Username).IsNotNullOrWhiteSpace(); + var username = resource.Username; + var password = resource.Password; - Ensure.That(resource.Password, () => resource.Password).IsNotNullOrWhiteSpace(); + if (username.IsNullOrWhiteSpace() || password.IsNullOrWhiteSpace()) + { + return LoginFailed(); + } - var user = _userService.FindUser(resource.Username, resource.Password); + var user = _userService.FindUser(username, password); if (user == null) { - var returnUrl = (string)Request.Query.returnUrl; - return Context.GetRedirect($"~/login?returnUrl={returnUrl}&loginFailed=true"); + return LoginFailed(); } DateTime? expiry = null; @@ -50,5 +54,11 @@ namespace Lidarr.Http.Authentication { return this.LogoutAndRedirect(_configFileProvider.UrlBase + "/"); } + + private Response LoginFailed() + { + var returnUrl = (string)Request.Query.returnUrl; + return Context.GetRedirect($"~/login?returnUrl={returnUrl}&loginFailed=true"); + } } }