private IEnumerable <Claim> GetClaimsForRealm(string realm, ClaimsConfiguration config) { var claimsSection = config.RelyingParties[realm]; if (claimsSection != null) { return(claimsSection.Claims.Cast <RelyingPartyClaim>() .Select(claim => new Claim(claim.Claim, claim.Value))); } return(new List <Claim>()); }
protected override ClaimsIdentity GetOutputClaimsIdentity(ClaimsPrincipal principal, RequestSecurityToken request, Scope scope) { var config = ClaimsConfiguration.ConfigurationFactory(); var realm = request.AppliesTo.Uri.AbsoluteUri; var claims = new List <Claim>(); claims.AddRange(GetClaimsForRealm("common", config)); claims.AddRange(GetClaimsForRealm(realm, config)); return(new ClaimsIdentity(claims)); }