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.
You need to specify a ClaimsIdentity
instance to the ClaimsPrincipal
constructor that specifies a authenticationType
such as "Basic". Claims can be null
.
var principal = new ClaimsPrincipal(new ClaimsIdentity(null, "Basic"));
var isAuthenticated = principal.Identity.IsAuthenticated; // true
You need to set an authentication type in the ClaimsIdentity ctor.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With