title: No IUserTwoFactorTokenProvider named 'Default' is registered. Problem is AddDefaultTokenProviders() in two (2) ASP.NET Core Identity registrations
body: <p>I have (2) <code>Identity systems</code>, each in its own <code>Context</code>:</p>
  
  <pre><code>1: CustomerContext : IdentityDbContext&lt;CustomerUser&gt;
  2: ApplicationContext : IdentityDbContext&lt;ApplicationUser&gt;
  </code></pre>
  
  <p>I have successfully registered them in ASP.NET Core 3.0 API Startup file.  One using <strong>'AddIdentity'</strong> and the other <strong>'AddIdentityCore'</strong></p>
  
  <p>I also added <strong>'AddDefaultTokenProviders'</strong> to both of them. Though it builds and runs, the problem occurs when I attempt to use token providers, such as <strong>GenerateEmailConfirmationTokenAsync</strong> or <strong>GeneratePasswordResetTokenAsync</strong>.</p>
  
  <p>If I remove one of the 'AddDefaultTokenProviders' from the registration, then using tokens works for the Identity with 'AddDefaultTokenProviders', its when both include AddDefaultTokenProviders, neither work. I get these exceptions (I have trimmed them up a bit for brevity):</p>
  
  <pre><code>System.NotSupportedException: No IUserTwoFactorTokenProvider named 'Default' is registered.
  - at Microsoft.AspNetCore.Identity.UserManager.GenerateUserTokenAsync(GenerateEmailConfirmationTokenAsync)
  OR
  - at Microsoft.AspNetCore.Identity.UserManager.GenerateUserTokenAsync(GeneratePasswordResetTokenAsync)
  </code></pre>
  
  <p>These are the Identity registrations in Startup.cs:<br></p>
  
  <p><strong>CustomerUser</strong></p>
  
  <pre><code>services.AddIdentity&lt;CustomerUser, CustomerRole&gt;(options =&gt;
  {
      options.Password.RequiredLength = 6;
  })
  .AddEntityFrameworkStores&lt;CustomerContext&gt;()
  .AddDefaultTokenProviders(); // &lt;-- CANNOT HAVE (2)
  </code></pre>
  
  <p><strong>ApplicationUser</strong></p>
  
  <pre><code>var builder = services.AddIdentityCore&lt;ApplicationUser&gt;(options =&gt;
  {
      options.Password.RequiredLength = 6;
  });
  builder = new IdentityBuilder(builder.UserType, typeof(ApplicationRole), builder.Services);
  builder.AddEntityFrameworkStores&lt;ApplicationContext&gt;();
  builder.AddDefaultTokenProviders(); // &lt;-- CANNOT HAVE (2)
  </code></pre>
  
  <p>I came across an article mentioning that IdentityOptions is singleton and cannot call AddDefaultTokenProviders twice. But no resolution how to fix it.</p>
  
  <p>How do I include Default Token Providers for both Identities? Do I need to create custom Token Providers? If so, how? I do not need any token customization, I just need the default token behavior.</p>
  
  <p>Thank you.</p>