我需要延长生成的重置密码令牌超时,因此我使用@property (strong, nonatomic) AVAudioPlayer *audioPlayer;
NSURL *soundUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"VoicemailSound" ofType:@"mp3"]]; //Download and add a system sound to your project and mention its name and type here
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionMixWithOthers error: nil];
[self.audioPlayer prepareToPlay];
[self.audioPlayer play];
中的数据保护提供程序从使用TotpSecurityStampBasedTokenProvider
切换到DataProtectorTokenProvider
。
IAppBuilder.GetDataProtectionProvider()
但是,在这样做时,我无法再在一个站点上创建令牌并使用它在另一个站点上创建新密码。该应用程序使用托管在不同服务器上的多个站点。
UserTokenProvider = new DataProtectorTokenProvider<User>(dataProtectionProvider.Create())
{
TokenLifespan = TimeSpan.FromHours(2)
};
我尝试使用相同的机器密钥,但这不起作用。
使用var result = userManager.ResetPassword(user.Id, model.ResetPasswordToken, model.Password);
if (!result.Succeeded)
{
// fails when the token is generated on a different site
}
时一切正常,但它没有提供延长超时的方法。