簡體   English   中英

ASP.NET Core 2.0-哪個類別用於電子郵件確認令牌加密?

[英]ASP.NET Core 2.0 - which class is used for Email Confirmation Token encryption?

我目前正在學習ASP.NET Core 2.0中使用的身份驗證機制。 現在,我試圖找到用於生成電子郵件確認令牌的方法,但是我既無法在文檔中也無法通過瀏覽源代碼找到信息。

到目前為止,我發現DataProtectorTokenProvider是負責生成令牌的類。 這是用於創建令牌的確切方法:

public virtual async Task<string> GenerateAsync(string purpose, UserManager<TUser> manager, TUser user)
{
    if (user == null)
    {
        throw new ArgumentNullException(nameof(user));
    }
    var ms = new MemoryStream();
    var userId = await manager.GetUserIdAsync(user);
    using (var writer = ms.CreateWriter())
    {
        // ... Here the token generation is performed
    }
    var protectedBytes = Protector.Protect(ms.ToArray());
    return Convert.ToBase64String(protectedBytes);
}

我無法獲得的部分是默認的IDataProtectionProvider實現,它在Protector.Protect(ms.ToArray()) ,並且在哪里注冊。 所以我的問題是:

  1. 用於保護電子郵件確認令牌的默認類是什么?
  2. 在哪里注冊?
  3. 是否可以在需要時用自定義實現代替? 如果是,如何實現?

謝謝!

為了回答您的具體3個問題:

  1. KeyRingBasedDataProtectionProvider ),它創建KeyRingBasedDataProtector )的實例。
  2. 注冊默認IDataProtectionProvider 此處
  3. 嘗試此處答案提供的方法: 替換ASP.NET Core內置DI容器中的服務注冊嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM