diff options
| author | Anthony Lavado <anthonylavado@users.noreply.github.com> | 2019-05-31 00:58:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-05-31 00:58:53 -0400 |
| commit | 75260a960bf074f36fd3eee1e9ecd6665b805814 (patch) | |
| tree | 462e6ae4f0ee2b7c4ec1d0cc88c3c3a2ed095aef /Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs | |
| parent | 1bf3a26a6194c6a5878f1e4c98ed953103ac7b71 (diff) | |
| parent | 69ee49bee607d716a857a1525f503575ebf6db7f (diff) | |
Merge pull request #1406 from DrPandemic/fix-pin-update
Format the PIN when updating it
Diffstat (limited to 'Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs')
| -rw-r--r-- | Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs b/Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs index 0527464ff..fe09b07ff 100644 --- a/Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs +++ b/Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs @@ -165,6 +165,34 @@ namespace Emby.Server.Implementations.Library return user.Password; } + public void ChangeEasyPassword(User user, string newPassword, string newPasswordHash) + { + ConvertPasswordFormat(user); + + if (newPassword != null) + { + newPasswordHash = string.Format("$SHA1${0}", GetHashedString(user, newPassword)); + } + + if (string.IsNullOrWhiteSpace(newPasswordHash)) + { + throw new ArgumentNullException(nameof(newPasswordHash)); + } + + user.EasyPassword = newPasswordHash; + } + + public string GetEasyPasswordHash(User user) + { + // This should be removed in the future. This was added to let user login after + // Jellyfin 10.3.3 failed to save a well formatted PIN. + ConvertPasswordFormat(user); + + return string.IsNullOrEmpty(user.EasyPassword) + ? null + : (new PasswordHash(user.EasyPassword)).Hash; + } + public string GetHashedStringChangeAuth(string newPassword, PasswordHash passwordHash) { passwordHash.HashBytes = Encoding.UTF8.GetBytes(newPassword); |
