Gzim Helshani
Gzim Helshani

Reputation: 547

How to configure confirmation email token lifespan in asp.net core mvc

I'm trying to extend the lifespan of both confirmation emails and password reset emails but I can't manage to do so. Currently I'm using Asp.net core 1.0.1 if that's helpful.

Some tips or even better, the code, would be much appreciated.

Thank you

Upvotes: 20

Views: 11814

Answers (2)

Viacheslav Yankov
Viacheslav Yankov

Reputation: 1008

Maybe it will help someone=)

Just do this:

    public void ConfigureServices(IServiceCollection services)
    {
        // ...
        services.Configure<DataProtectionTokenProviderOptions>(options =>
        {
            options.TokenLifespan = TimeSpan.FromDays(2); // Sets the expiry to two days
        });
    }

This works for me.

Upvotes: 40

Sridhar
Sridhar

Reputation: 55

The following code change in the Create method (in the App_Start\IdentityConfig.cs file) sets the tokens to expire in 3 hours.

if (dataProtectionProvider != null)
 {
    manager.UserTokenProvider =
       new DataProtectorTokenProvider<ApplicationUser>
          (dataProtectionProvider.Create("ASP.NET Identity"))
          {                    
             TokenLifespan = TimeSpan.FromHours(3)
          };
 }

Hope this helps.

Upvotes: 2

Related Questions