public void MapFromContext(IList <Claim> context, TokenMapping claimsDefinition) { foreach (var mapping in claimsDefinition) { var ctxValues = context.Where(c => c.Type == mapping.Alias); ValidateCardinality(mapping, ctxValues, claimsDefinition.Source); foreach (var ctxValue in ctxValues) { Claims.Add(new Claim(mapping.Name, ctxValue.Value)); } } }
public void MapFromPrincipal(ClaimsPrincipal user, TokenMapping claimsDefinition) { foreach (var mapping in claimsDefinition) { var foundClaims = user.FindAll(mapping.Alias); ValidateCardinality(mapping, foundClaims, claimsDefinition.Source); foreach (var userClaim in foundClaims) { Claims.Add(new Claim(mapping.Name, userClaim.Value)); } } }
private static TokenOptions CreateIdTokenOptions(TimeSpan notValidAfter, TimeSpan notValidBefore) { var userClaims = new TokenMapping("user"); var applicationClaims = new TokenMapping("application"); applicationClaims.AddSingle(IdentityServiceClaimTypes.Audience, IdentityServiceClaimTypes.ClientId); return(new TokenOptions() { UserClaims = userClaims, ApplicationClaims = applicationClaims, NotValidAfter = notValidAfter, NotValidBefore = notValidBefore }); }
private static TokenOptions CreateAccessTokenOptions(TimeSpan notValidAfter, TimeSpan notValidBefore) { var userClaims = new TokenMapping("user"); userClaims.AddSingle(IdentityServiceClaimTypes.Subject, ClaimTypes.NameIdentifier); var applicationClaims = new TokenMapping("application"); return(new TokenOptions() { UserClaims = userClaims, ApplicationClaims = applicationClaims, NotValidAfter = notValidAfter, NotValidBefore = notValidBefore }); }