In my ASP.NET Web API project I'm using bearer token authorization and I have added some custom claims to it, like this:
var authType = AuthConfig.OAuthOptions.AuthenticationType; var identity = new ClaimsIdentity(authType); identity.AddClaim(new Claim(ClaimTypes.Name, vm.Username)); // custom claim identity.AddClaim(new Claim("CompanyID", profile.CompanyId.ToString()));
Is there any way I can access this additional claim value in the controller without an extra trip to the database?
Sure, inside your protected controller you do the following:
ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal; var customClaimValue = principal.Claims.Where(c => c.Type == "CompanyID").Single().Value;
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