mirror of https://github.com/abpframework/abp.git
Browse Source
Enhance LinkUserTokenProvider with single-active policy and consent helperspull/25517/head
committed by
GitHub
7 changed files with 292 additions and 20 deletions
@ -0,0 +1,13 @@ |
|||||
|
using System; |
||||
|
using Microsoft.AspNetCore.Identity; |
||||
|
|
||||
|
namespace Volo.Abp.Identity.AspNetCore; |
||||
|
|
||||
|
public class AbpLinkUserTokenProviderOptions : DataProtectionTokenProviderOptions |
||||
|
{ |
||||
|
public AbpLinkUserTokenProviderOptions() |
||||
|
{ |
||||
|
Name = LinkUserTokenProviderConsts.LinkUserTokenProviderName; |
||||
|
TokenLifespan = TimeSpan.FromMinutes(10); |
||||
|
} |
||||
|
} |
||||
@ -1,18 +1,25 @@ |
|||||
using Microsoft.AspNetCore.DataProtection; |
using Microsoft.AspNetCore.DataProtection; |
||||
using Microsoft.AspNetCore.Identity; |
using Microsoft.AspNetCore.Identity; |
||||
using Microsoft.Extensions.Logging; |
using Microsoft.Extensions.Logging; |
||||
using Microsoft.Extensions.Options; |
using Microsoft.Extensions.Options; |
||||
|
using Volo.Abp.Identity; |
||||
|
using Volo.Abp.Threading; |
||||
|
|
||||
namespace Volo.Abp.Identity.AspNetCore; |
namespace Volo.Abp.Identity.AspNetCore; |
||||
|
|
||||
public class LinkUserTokenProvider : DataProtectorTokenProvider<IdentityUser> |
/// <summary>
|
||||
|
/// Link-user token provider that enforces, per purpose, only the most recently issued
|
||||
|
/// token to be valid, with a configurable expiration period.
|
||||
|
/// </summary>
|
||||
|
public class LinkUserTokenProvider : AbpSingleActiveTokenProvider |
||||
{ |
{ |
||||
public LinkUserTokenProvider( |
public LinkUserTokenProvider( |
||||
IDataProtectionProvider dataProtectionProvider, |
IDataProtectionProvider dataProtectionProvider, |
||||
IOptions<DataProtectionTokenProviderOptions> options, |
IOptions<AbpLinkUserTokenProviderOptions> options, |
||||
ILogger<DataProtectorTokenProvider<IdentityUser>> logger) |
ILogger<DataProtectorTokenProvider<IdentityUser>> logger, |
||||
: base(dataProtectionProvider, options, logger) |
IIdentityUserRepository userRepository, |
||||
|
ICancellationTokenProvider cancellationTokenProvider) |
||||
|
: base(dataProtectionProvider, options, logger, userRepository, cancellationTokenProvider) |
||||
{ |
{ |
||||
|
|
||||
} |
} |
||||
} |
} |
||||
|
|||||
Loading…
Reference in new issue