Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
class Sustainsys.​Saml2.​Configuration.​IdentityProviderDictionary
Assembly: Sustainsys.Saml2
Inheritance: object → IdentityProviderDictionary
A thread safe wrapper around a dictionary for the identity providers.
Remarks
First I thought about using a ConcurrentDictionary, but that does not maintain
any order of the added objects. Since the first idp added becomes the default idp,
the order must be preserved. And there has to be queuing semantics if the first idp
is dynamically loaded from a federation and later removed. Locks are simple and
this part of the code shouldn't be that performance sensitive.
Properties
public
IdentityProvider
Item
public
IdentityProvider
Default
The default identity provider; i.e. the first registered of the currently known.
public
System.​Collections.​Generic.​IEnumerable<​IdentityProvider>
KnownIdentityProviders
Gets all currently known identity providers. Note that the returned
enumeration is a copy to avoid race conditions.
public
bool
IsEmpty
Checks if there are no known identity providers.
Methods
idp
Identity provider to add.
public
bool
TryGetValue​(Metadata.​EntityId idpEntityId,
IdentityProvider& idp)
public
void
Remove​(Metadata.​EntityId idp)
Removes the idp with the given entity id, if present. If no such
entity is found, nothing is done.
idp
EntityId of idp to remove.
public
bool
Equals​(object obj)
Inherited from object
protected
void
Finalize​()
Inherited from object
public
int
GetHashCode​()
Inherited from object
protected
object
MemberwiseClone​()
Inherited from object
public
string
ToString​()
Inherited from object