/
UserLockoutStore.cs
61 lines (51 loc) · 1.96 KB
/
UserLockoutStore.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
namespace InfinniPlatform.Auth.DocumentStorage
{
public partial class UserStore<TUser> : IUserLockoutStore<TUser> where TUser : AppUser
{
/// <inheritdoc />
public Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user, CancellationToken token)
{
return Task.FromResult(user.LockoutEndDateUtc.HasValue ? user.LockoutEndDateUtc.GetValueOrDefault() : new DateTimeOffset?());
}
/// <inheritdoc />
public Task SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd, CancellationToken token)
{
user.LockoutEndDateUtc = lockoutEnd.HasValue
? lockoutEnd.GetValueOrDefault().UtcDateTime
: new DateTime?();
return Task.CompletedTask;
}
/// <inheritdoc />
public Task<int> IncrementAccessFailedCountAsync(TUser user, CancellationToken token)
{
++user.AccessFailedCount;
return Task.FromResult(user.AccessFailedCount);
}
/// <inheritdoc />
public Task ResetAccessFailedCountAsync(TUser user, CancellationToken token)
{
user.AccessFailedCount = 0;
return Task.CompletedTask;
}
/// <inheritdoc />
public Task<int> GetAccessFailedCountAsync(TUser user, CancellationToken token)
{
return Task.FromResult(user.AccessFailedCount);
}
/// <inheritdoc />
public Task<bool> GetLockoutEnabledAsync(TUser user, CancellationToken token)
{
return Task.FromResult(user.LockoutEnabled);
}
/// <inheritdoc />
public Task SetLockoutEnabledAsync(TUser user, bool enabled, CancellationToken token)
{
user.LockoutEnabled = enabled;
return Task.CompletedTask;
}
}
}