Clean up UserManager.AuthenticateUser

This commit is contained in:
Patrick Barron 2021-02-06 15:59:27 -05:00
parent f8283d8c20
commit a5e55ba859

View File

@ -402,27 +402,18 @@ namespace Jellyfin.Server.Implementations.Users
} }
var user = Users.FirstOrDefault(i => string.Equals(username, i.Username, StringComparison.OrdinalIgnoreCase)); var user = Users.FirstOrDefault(i => string.Equals(username, i.Username, StringComparison.OrdinalIgnoreCase));
bool success; var authResult = await AuthenticateLocalUser(username, password, user, remoteEndPoint)
IAuthenticationProvider? authenticationProvider; .ConfigureAwait(false);
var authenticationProvider = authResult.authenticationProvider;
var success = authResult.success;
if (user != null) if (user is null)
{ {
var authResult = await AuthenticateLocalUser(username, password, user, remoteEndPoint)
.ConfigureAwait(false);
authenticationProvider = authResult.authenticationProvider;
success = authResult.success;
}
else
{
var authResult = await AuthenticateLocalUser(username, password, null, remoteEndPoint)
.ConfigureAwait(false);
authenticationProvider = authResult.authenticationProvider;
string updatedUsername = authResult.username; string updatedUsername = authResult.username;
success = authResult.success;
if (success if (success
&& authenticationProvider != null && authenticationProvider is not null
&& !(authenticationProvider is DefaultAuthenticationProvider)) && authenticationProvider is not DefaultAuthenticationProvider)
{ {
// Trust the username returned by the authentication provider // Trust the username returned by the authentication provider
username = updatedUsername; username = updatedUsername;