title: C# Modifying Identity or Add a Claim
body: <p>Application is Blazor Server .NET Core 5.0</p>
  <p>I am using .NET Core's Identity system and I am running into a problem. I want to have the person's first name stored with the Identity so I can call on it easily.</p>
  <p>Currently I have a class overriding the base identity:</p>
  <pre><code>public class ApplicationUser : IdentityUser
  {
      public ApplicationUser() : base() { }
  
      [StringLength(100)]
      public string FirstName { get; set; }
      [StringLength(100)]
      public string LastName { get; set; }
  }
  </code></pre>
  <p>My startup.cs has:</p>
  <pre><code>        services.AddDefaultIdentity&lt;ApplicationUser&gt;(options =&gt; {
              options.SignIn.RequireConfirmedAccount = true;
              }
          )
  </code></pre>
  <p>In my mind that should force the program's intellisense to understand ApplicationUser is the default class when looking for identity.</p>
  <p>However, when I try to call:</p>
  <pre><code>    var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
      var user = authState.User;
  </code></pre>
  <p>It only returns &quot;IdentityUser&quot; data rather than my custom ApplicationUser class.</p>
  <p>Is there something I am missing with what AuthenticationStateProvider is returning or a type casting I am missing?</p>
  <p>Also, if this is completely incorrect, should I do this with Claims? If so, I cannot find a concrete way to effectively use claims with Blazor Server.</p>