'Get Claims from Extended UserClaim Table in Web Api using Microsoft Identity
i am working on ASP.Net 5 , web api project and using Microsoft Identity and jwt token based for my security management . I have already extended the user claim table and add a new row of isSelected
to this table . I need to know , how can i just get the claims that has the isSelected == true
from the table , is there any way that i can use the _signinManager
services for this task? I can do like this for normal situation :
var claims = await _signinManager.ClaimsFactory.CreateAsync(user)
and get the ClaimPrincipals
, but this will return all the claims whether the isSelected
is true
or false
.
Thank you!
Solution 1:[1]
Some behaviors require customization. Like in your case, you want the default configuration to filter list of data based on a particular column name (isSelected
) and only return the filtered list. The best way to approach this using a customized UserManager
or SignInManager
and create a method that will do just what you're asking for.
Here's an idea:
Create a method called IList<UserClaim> GetUserClaimsBasedOnSelection(bool isSelected, User user)
. All that this method should do is use the underlying Claims retrieving method and just filter that list to only return the selected claims. That's it. And then after you just register your configured SignInManager
inside Program.cs
or startup.cs
by adding this service to your AddIdentity
service configuration .AddSignInManager<YourSignInManager>()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Eric Aya |