|
|
|
@ -47,13 +47,13 @@ namespace Emby.Server.Implementations.Library
|
|
|
|
|
using (var str = File.OpenRead(resetfile))
|
|
|
|
|
{
|
|
|
|
|
spr = await _jsonSerializer.DeserializeFromStreamAsync<SerializablePasswordReset>(str).ConfigureAwait(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (spr.ExpirationDate < DateTime.Now)
|
|
|
|
|
{
|
|
|
|
|
File.Delete(resetfile);
|
|
|
|
|
}
|
|
|
|
|
else if (spr.Pin.Equals(pin, StringComparison.InvariantCultureIgnoreCase))
|
|
|
|
|
else if (spr.Pin.Replace('-', '').Equals(pin.Replace('-', ''), StringComparison.InvariantCultureIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
var resetUser = _userManager.GetUserByName(spr.UserName);
|
|
|
|
|
if (resetUser == null)
|
|
|
|
@ -85,11 +85,11 @@ namespace Emby.Server.Implementations.Library
|
|
|
|
|
{
|
|
|
|
|
string pin = string.Empty;
|
|
|
|
|
using (var cryptoRandom = System.Security.Cryptography.RandomNumberGenerator.Create())
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
byte[] bytes = new byte[4];
|
|
|
|
|
cryptoRandom.GetBytes(bytes);
|
|
|
|
|
pin = BitConverter.ToString(bytes);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DateTime expireTime = DateTime.Now.AddMinutes(30);
|
|
|
|
|
string filePath = _passwordResetFileBase + user.InternalId + ".json";
|
|
|
|
|