The following code is useful for inspecting the contents of claim sets:
public static void ShowClaims(IEnumerable<ClaimSet> claimSets)
{
int count = 0;
foreach (ClaimSet set in claimSets)
{
Heading(String.Format(“Claim Set #{0}”, ++count), ConsoleColor.Yellow);
ShowClaimSet(set, false);
}
}
private static void ShowClaimSet(ClaimSet set, bool isIssuer)
{
if (set.HasIssuer())
{
ShowClaimSet(set.Issuer, true);
}
string setType = set.GetType().Name;
string setName = isIssuer ? “Issuer” : “Issued”;
Heading(String.Format(“n{0} Claims ({1})n”, setName, setType),
ConsoleColor.Green);
foreach (Claim claim in set)
{
if (claim.Right.Equals(Rights.Identity))
{
Console.ForegroundColor = ConsoleColor.White;
}
Console.WriteLine(claim.ClaimType);
Console.WriteLine(claim.Resource);
Console.WriteLine(claim.Right);
Console.WriteLine();
Console.ResetColor();
}
}
private static void Heading(string text, ConsoleColor color)
{
Console.ForegroundColor = color;
Console.WriteLine(text);
Console.WriteLine();
Console.ResetColor();
}