Keith followed up on my recent post about unique values and IDs in InfoCards. He proposes a model of simply using the hash of the public key as an identifier. This is totally fine and, frankly, I simply forgot to talk about that option in my post.
Basing the ID only on the public key gives you the most flexibility, but you also need a strategy for dealing with the case when certain “key” values in the card change. Combining the public key with certain claims will automatically invalidate the card when these values change. Both behaviors are totally valid, and it depends on your application scenario which way you wanna go. Just be sure to know what you get.
In this post Keith talks about another piece of the puzzle – the ClaimType.Right. Recommended.