2016-05-25 52 views
1

認証のために電子メールトークンを作成する必要があります。 emailtokenの有効期限が短くなるため、デフォルトの機能を使用するオプションはありません。短い電子メールトークン - ASP ID

私はトークンライフタイムを延長することができましたが、これは非常に長く複雑なトークンを生成します。長い生涯で6桁のトークンを生成することは可能ですか?

var dataProtector = dataProtectionProvider.DataProtectionProvider.Create("My Asp.Net Identity"); 
userManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser, string>(dataProtector) 
{ 
    TokenLifespan = TimeSpan.FromHours(24) 
}; 

出典: Email Token Expiring After 15 mins - Asp Identity 2.0 API

種類よろしく、解決

ブレヒト

答えて

1

!ただIUserTokenProviderを実装して、あなた自身のロジックを書くことができます!

public class CustomUserTokenProvider : IUserTokenProvider<ApplicationUser, string> 
{ 
    public Task<string> GenerateAsync(string purpose, UserManager<ApplicationUser, string> manager, 
     ApplicationUser user) 
    { 
     return 
      //logic to generate code 
    } 

    public Task<bool> IsValidProviderForUserAsync(UserManager<ApplicationUser, string> manager, ApplicationUser user) 
    { 
     throw new NotImplementedException(); 
    } 

    public Task NotifyAsync(string token, UserManager<ApplicationUser, string> manager, ApplicationUser user) 
    { 
     throw new NotImplementedException(); 
    } 

    public Task<bool> ValidateAsync(string purpose, string token, UserManager<ApplicationUser, string> manager, 
     ApplicationUser user) 
    { 
     //logic to validate code 
    } 
} 
関連する問題