using System; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Authentication; namespace AuthSamples.ClaimsTransformer { public class ClaimsTransformer : IClaimsTransformation { public Task TransformAsync(ClaimsPrincipal principal) { // This will run every time Authenticate is called so its better to create a new Principal var transformed = new ClaimsPrincipal(); transformed.AddIdentities(principal.Identities); principal.AddIdentity(new ClaimsIdentity(new Claim[] { new Claim("Transformed", DateTime.Now.ToString()) })); return Task.FromResult(principal); } } }