How to create a ClaimsPrincipal that has Identity.Authenticated set to true?

Poul K. Sørensen picture Poul K. Sørensen · Jul 2, 2013 · Viewed 11.7k times · Source

I have the following method:

        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            if (Composite.C1Console.Security.UserValidationFacade.IsLoggedIn())
                SetPrincipal(request, new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Role, "Administrator") },)));
            var test = request.GetClaimsPrincipal();
            return base.SendAsync(request, cancellationToken);
        }

my problem is that if i inspect the test.Identity.IsAuthenticated is has not been set to true. This is just some test code to figure out how. What am I missing.

Answer

leastprivilege picture leastprivilege · Jul 2, 2013

You need to set an authentication type in the ClaimsIdentity ctor.