Skip to content

Commit af27c8a

Browse files
author
StickFun
committed
Added usage of TimeProvider instead of DateTimeOffset
1 parent 6b15190 commit af27c8a

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

src/Identity/Extensions.Core/src/UserManager.cs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2067,7 +2067,12 @@ public virtual async Task<bool> IsLockedOutAsync(TUser user)
20672067
return false;
20682068
}
20692069
var lockoutTime = await store.GetLockoutEndDateAsync(user, CancellationToken).ConfigureAwait(false);
2070-
return lockoutTime >= DateTimeOffset.UtcNow;
2070+
#if NET8_0_OR_GREATER
2071+
var utcNow = UtcNow();
2072+
#else
2073+
var utcNow = DateTimeOffset.UtcNow;
2074+
#endif
2075+
return lockoutTime >= utcNow;
20712076
}
20722077

20732078
/// <summary>
@@ -2186,7 +2191,12 @@ public virtual async Task<IdentityResult> AccessFailedAsync(TUser user)
21862191
return await UpdateUserAndRecordMetricAsync(user, UserUpdateType.AccessFailed).ConfigureAwait(false);
21872192
}
21882193
Logger.LogDebug(LoggerEventIds.UserLockedOut, "User is locked out.");
2189-
await store.SetLockoutEndDateAsync(user, DateTimeOffset.UtcNow.Add(Options.Lockout.DefaultLockoutTimeSpan),
2194+
#if NET8_0_OR_GREATER
2195+
var utcNow = UtcNow();
2196+
#else
2197+
var utcNow = DateTimeOffset.UtcNow;
2198+
#endif
2199+
await store.SetLockoutEndDateAsync(user, utcNow.Add(Options.Lockout.DefaultLockoutTimeSpan),
21902200
CancellationToken).ConfigureAwait(false);
21912201
await store.ResetAccessFailedCountAsync(user, CancellationToken).ConfigureAwait(false);
21922202
return await UpdateUserAndRecordMetricAsync(user, UserUpdateType.AccessFailed).ConfigureAwait(false);
@@ -2679,6 +2689,14 @@ protected virtual void Dispose(bool disposing)
26792689
}
26802690
}
26812691

2692+
#if NET8_0_OR_GREATER
2693+
private DateTimeOffset UtcNow()
2694+
{
2695+
var timeProvider = ServiceProvider.GetService<TimeProvider>();
2696+
return timeProvider?.GetUtcNow() ?? DateTimeOffset.UtcNow;
2697+
}
2698+
#endif
2699+
26822700
private IUserTwoFactorStore<TUser> GetUserTwoFactorStore()
26832701
{
26842702
var cast = Store as IUserTwoFactorStore<TUser>;

0 commit comments

Comments
 (0)