title: ASP.NET Core Jwt implement signinmanager claims
body: <p>I have implemented Jwt as a way to authenticate my user. However, I am stuck on how I can do certain things on my application with regards to roles. Currently my Jwt Token contains the users email, phone , id and a list of roles that they have.</p>
  
  <p>What I do with that token is like this:</p>
  
  <pre><code>[TypeFilter(typeof(ValidateRolesFilter), Arguments = new object[] {
          ApplicationGlobals.ApplicationSecretKey, RoleGlobals.SystemAdministrator
  })]
  public IActionResult Index()
  {
      return View();
  }
  </code></pre>
  
  <p>My Typefilter contains a rest request that sends the token to another application to verify if my user can access that Function. However,
  I am stuck when it comes to the view. I want to segment certain containers to be allowed to be viewed by certain users with certain roles. </p>
  
  <p>I have an idea that if I were to add my users claims to the signinmanager just like a non jwt application, i would be able to get the claims from the httpcontext. However, I don't know if what I have can work with an application that uses jwt. </p>
  
  <pre><code>public async Task SignInUserAsync(TIdentityUser user, bool isPersistent, IEnumerable&lt;Claim&gt; customClaims)
  {
      var claimsPrincipal = await _signInManager.CreateUserPrincipalAsync(user);
      var identity = claimsPrincipal.Identity as ClaimsIdentity;
      var claims = (from c in claimsPrincipal.Claims select c).ToList();
      var savedClaims = claims;
      foreach (var item in claims)
      {
          identity.RemoveClaim(item);
      }
      if (customClaims != null)
      {
          identity.AddClaim(savedClaims[0]);
          identity.AddClaim(savedClaims[1]);
          identity.AddClaim(savedClaims[2]);
          identity.AddClaims(customClaims);
      }
      await _signInManager.Context.SignInAsync(IdentityConstants.ApplicationScheme,
          claimsPrincipal,
          new AuthenticationProperties { IsPersistent = isPersistent });
  }
  </code></pre>