Fix login

This commit is contained in:
Bond_009 2019-08-28 14:45:46 +02:00
parent 874f02631b
commit efc4805233
3 changed files with 11 additions and 10 deletions

View file

@ -37,7 +37,7 @@ namespace Emby.Server.Implementations.Library
throw new ArgumentNullException(nameof(resolvedUser)); throw new ArgumentNullException(nameof(resolvedUser));
} }
// As long as jellyfin supports passwordless users, we need this little block here to accomodate // As long as jellyfin supports passwordless users, we need this little block here to accommodate
if (!HasPassword(resolvedUser) && string.IsNullOrEmpty(password)) if (!HasPassword(resolvedUser) && string.IsNullOrEmpty(password))
{ {
return Task.FromResult(new ProviderAuthenticationResult return Task.FromResult(new ProviderAuthenticationResult
@ -105,6 +105,7 @@ namespace Emby.Server.Implementations.Library
public Task ChangePassword(User user, string newPassword) public Task ChangePassword(User user, string newPassword)
{ {
ConvertPasswordFormat(user); ConvertPasswordFormat(user);
// This is needed to support changing a no password user to a password user // This is needed to support changing a no password user to a password user
if (string.IsNullOrEmpty(user.Password)) if (string.IsNullOrEmpty(user.Password))
{ {

View file

@ -418,7 +418,7 @@ namespace MediaBrowser.Api
return ToOptimizedResult(result); return ToOptimizedResult(result);
} }
catch(SecurityException e) catch (SecurityException e)
{ {
// rethrow adding IP address to message // rethrow adding IP address to message
throw new SecurityException($"[{Request.RemoteIp}] {e.Message}"); throw new SecurityException($"[{Request.RemoteIp}] {e.Message}");

View file

@ -69,6 +69,13 @@ namespace MediaBrowser.Model.Cryptography
} }
} }
public PasswordHash(ICryptoProvider cryptoProvider)
{
_id = cryptoProvider.DefaultHashMethod;
_salt = cryptoProvider.GenerateSalt();
_hash = Array.Empty<Byte>();
}
public string Id { get => _id; set => _id = value; } public string Id { get => _id; set => _id = value; }
public Dictionary<string, string> Parameters { get => _parameters; set => _parameters = value; } public Dictionary<string, string> Parameters { get => _parameters; set => _parameters = value; }
@ -77,13 +84,6 @@ namespace MediaBrowser.Model.Cryptography
public byte[] Hash { get => _hash; set => _hash = value; } public byte[] Hash { get => _hash; set => _hash = value; }
public PasswordHash(ICryptoProvider cryptoProvider)
{
_id = cryptoProvider.DefaultHashMethod;
_salt = cryptoProvider.GenerateSalt();
_hash = Array.Empty<Byte>();
}
// TODO: move this class and use the HexHelper class // TODO: move this class and use the HexHelper class
public static byte[] ConvertFromByteString(string byteString) public static byte[] ConvertFromByteString(string byteString)
{ {
@ -127,7 +127,7 @@ namespace MediaBrowser.Model.Cryptography
str.Append(_id); str.Append(_id);
SerializeParameters(str); SerializeParameters(str);
if (_salt.Length == 0) if (_salt.Length != 0)
{ {
str.Append('$'); str.Append('$');
str.Append(ConvertToByteString(_salt)); str.Append(ConvertToByteString(_salt));