Browse Source

Fix pin bug introduced in 10.3.z.

The issue is that the new easyPassword format prepends the hash
function. This PR extract the hash from "$SHA1$_hash_".
DrPandemic 6 năm trước cách đây
mục cha
commit
c22068d6b1

+ 3 - 3
Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs

@@ -19,7 +19,7 @@ namespace Emby.Server.Implementations.Library
         public string Name => "Default";
 
         public bool IsEnabled => true;
-        
+
         // This is dumb and an artifact of the backwards way auth providers were designed.
         // This version of authenticate was never meant to be called, but needs to be here for interface compat
         // Only the providers that don't provide local user support use this
@@ -27,7 +27,7 @@ namespace Emby.Server.Implementations.Library
         {
             throw new NotImplementedException();
         }
-        
+
         // This is the verson that we need to use for local users. Because reasons.
         public Task<ProviderAuthenticationResult> Authenticate(string username, string password, User resolvedUser)
         {
@@ -103,7 +103,7 @@ namespace Emby.Server.Implementations.Library
                 string hash = user.Password;
                 user.Password = string.Format("$SHA1${0}", hash);
             }
-            
+
             if (user.EasyPassword != null && !user.EasyPassword.Contains("$"))
             {
                 string hash = user.EasyPassword;

+ 1 - 1
Emby.Server.Implementations/Library/UserManager.cs

@@ -550,7 +550,7 @@ namespace Emby.Server.Implementations.Library
         {
             return string.IsNullOrEmpty(user.EasyPassword)
                 ? null
-                : user.EasyPassword;
+                : (new PasswordHash(user.EasyPassword)).Hash;
         }
 
         /// <summary>