-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
-
Medium
The existing PeerIdentity APIs aren't working out, because the separation of the PeerIdentity and its backing implementation introduces too much complexity while making it too difficult for service providers to do anything with them.
Simplify the API so that PeerIdentity and PeerIdentityContext are (secure) abstract classes which can be extended by providers, which can then use the API directly in a more useful manner. Move responsibility for managing anonymous identities on to the subclass, with the new default being "no identity in particular", which allows e.g. the Remoting provider to default to the connection identity, while other providers can default to the anonymous identity (if there is one).