ASP.NET Identity not "saving" updated claim
<p>Long story short, I use Identity and in my solution I created a custom account settings page which works fine and dandy. The problem is that I have the users <code>FirstName</code> and <code>LastName</code> in the <code>_Layout.cshtml</code>. The name is set by a custom helper method I have:</p>

<pre><code>public static MvcHtmlString GetUsersFirstAndLastName(this HtmlHelper helper)
{
   string fullName = HttpContext.Current?.User?.Identity?.Name ?? string.Empty;

   var userIdentity = (ClaimsPrincipal)Thread.CurrentPrincipal;
   var nameClaim = identity?.FindFirst("fullname");

   if (nameClaim != null)
   {
       fullName = nameClaim.Value;
   }

   return MvcHtmlString.Create(fullName);
}
</code></pre>

<p>This method works great, until a user goes to their profile and updates their name. If they change their name from <code>George</code> to <code>Bob</code> then when they go around on my website this method still pulls their name as <code>George</code> until they log out and log back in.</p>

<p>So what I did to fix that was when they update their name in the account settings I added some code to remove their old <code>fullName</code> claim, and add the new one, like this:</p>

<pre><code>var identity = User.Identity as ClaimsIdentity;

// check for existing claim and remove it
var currentClaim = identity.FindFirst("fullName");
if (currentClaim != null)
   identity.RemoveClaim(existingClaim);

// add new claim
var fullName = user.FirstName + " " + user.LastName;

identity.AddClaim(new Claim("fullName", fullName));
</code></pre>

<p>With this bit of code the <code>_Layout</code> view now updates the name (in our previous example <code>George</code> will now change to <code>Bob</code>). However, the moment the click out of that view to another place on the website or the moment they refresh the page it changes right back to <code>George</code>. </p>

<p>Still being a bit new to identity I'm a bit puzzled why this new updated claim does not work after they click around to a different page or refresh. Any help is appreciated. :)</p>