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 Duende.​IdentityServer.​Saml.​Serialization.​SamlXmlReader
Assembly: Duende.IdentityServer
Inheritance: object → SamlXmlReader
Implemented Interfaces
Reader for data from an Xml Document.
Properties
public
System.​Collections.​Generic.​IEnumerable<​string>
AllowedAlgorithms
public
System.​Collections.​Generic.​IEnumerable<​Xml.​SigningKey>
TrustedSigningKeys
public
System.​Func<​string, System.​Threading.​CancellationToken, System.​Threading.​Tasks.​Task<​Saml2Entity>>
EntityResolver
Methods
public
System.​Threading.​Tasks.​Task<​Assertion>
ReadAssertionAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
public
System.​Threading.​Tasks.​Task<​Assertion>
ReadAssertionAsync​(Xml.​XmlTraverser source,
System.​Action<​Xml.​ReadErrorInspectorContext<​Assertion>> errorInspector,
System.​Threading.​CancellationToken ct)
protected
System.​Threading.​Tasks.​Task<​Assertion>
ReadAssertionCoreAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
Read an <see cref="T:Duende.IdentityServer.Saml.Assertion" />
source
Xml Traverser to read from
ct
Cancellation token
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Assertion assertion)
Read attributes of an assertion
source
Xml Traverser to read from
ReadElementsAsync​(Xml.​XmlTraverser source,
Assertion assertion,
System.​Threading.​CancellationToken ct)
Read elements of an assertion
source
Xml traverser to read from
assertion
Assertion to populate
ct
Cancellation token
protected
SamlAttribute
ReadAttribute​(Xml.​XmlTraverser source)
Read an Attribute
Returns Attribute
source
Xml Traverser to read from
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
SamlAttribute attribute)
Read attributes of a SamlAttribute
source
Source data
attribute
Attribute to populate
protected
void
ReadElements​(Xml.​XmlTraverser source,
SamlAttribute attribute)
Read elements of a Saml attribute.
source
Source data
attribute
Attribute to populate
protected
AudienceRestriction
ReadAudienceRestriction​(Xml.​XmlTraverser source)
Reads an AudienceRestriction
Returns AudienceRestriction read
source
Source data
protected
void
ReadElements​(Xml.​XmlTraverser source,
AudienceRestriction result)
Read elements of AudienceRestriction
source
Source data
result
AudienceRestriction to populate
protected
AuthnContext
ReadAuthnContext​(Xml.​XmlTraverser source)
Reads an AuthnContext.
Returns authnContext read
source
Source data
protected
void
ReadElements​(Xml.​XmlTraverser source,
AuthnContext authnContext)
Reads elements of an AuthnContext.
source
Source Xml Reader
authnContext
AuthnContext to populate
public
System.​Threading.​Tasks.​Task<​Samlp.​AuthnRequest>
ReadAuthnRequestAsync​(Xml.​XmlTraverser source,
System.​Action?<​Xml.​ReadErrorInspectorContext<​Samlp.​AuthnRequest>> errorInspector,
System.​Threading.​CancellationToken ct)
protected
System.​Threading.​Tasks.​Task<​Samlp.​AuthnRequest>
ReadAuthnRequestCoreAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
Read an <see cref="T:Duende.IdentityServer.Saml.Samlp.AuthnRequest" />
Returns <see cref="T:Duende.IdentityServer.Saml.Samlp.AuthnRequest" /> The AuthnRequest read
source
Xml Traverser to read from
ct
Cancellation token
ReadElementsAsync​(Xml.​XmlTraverser source,
Samlp.​AuthnRequest authnRequest,
System.​Threading.​CancellationToken ct)
Reads the child elements of an AuthnRequest.
source
Xml traverser to read from
authnRequest
AuthnRequest to populate
ct
Cancellation token
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​AuthnRequest authnRequest)
Reads attributes of an AuthnRequest
source
Xml Traverser to read from
authnRequest
The AuthnRequest to populate
protected
AuthnStatement
ReadAuthnStatement​(Xml.​XmlTraverser source)
Reads an AuthnStatement.
Returns authnStatement read
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
AuthnStatement authnStatement)
Reads attributes of an AuthnStatement
protected
void
ReadElements​(Xml.​XmlTraverser source,
AuthnStatement authnStatement)
Reads elements of an AuthnStatement.
source
Source Xml Reader
authnStatement
AuthnStatement to populate
protected
Conditions
ReadConditions​(Xml.​XmlTraverser source)
Reads Conditions.
Returns Conditions read
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Conditions conditions)
Read attributes of a Conditions.
source
Source
conditions
Conditions
protected
void
ReadElements​(Xml.​XmlTraverser source,
Conditions conditions)
Reads elements of a Conditions.
source
Source Xml Reader
conditions
Conditions to populate
protected
void
ThrowOnErrors​(Xml.​XmlTraverser source)
Helper method that calls ThrowOnErrors. To supress errors and prevent
throwing, this is the last chance method to override.
protected
T
Create​()
Default factory for read types is just to new it up. Override this method
to create a derived/specialized type instead.
Returns New instance of <typeparamref name="T" />
protected
System.​Threading.​Tasks.​Task<​System.​ValueTuple<​System.​Collections.​Generic.​IEnumerable<​Xml.​SigningKey>, System.​Collections.​Generic.​IEnumerable<​string>>>
GetSignatureValidationParametersFromIssuerAsync​(Xml.​XmlTraverser source,
NameId? issuer,
System.​Threading.​CancellationToken ct)
Helper method to get the signing keys and allowed signature algorithms for
an issuer by invoking <see cref="P:Duende.IdentityServer.Saml.Serialization.SamlXmlReader.EntityResolver" /> .
Returns Trusted signing keys and allowed algorithms. When <see cref="P:Duende.IdentityServer.Saml.Serialization.SamlXmlReader.EntityResolver" />
is set, its result is used unconditionally. Falls back to
<see cref="P:Duende.IdentityServer.Saml.Serialization.SamlXmlReader.TrustedSigningKeys" /> and <see cref="P:Duende.IdentityServer.Saml.Serialization.SamlXmlReader.AllowedAlgorithms" />
only when <see cref="P:Duende.IdentityServer.Saml.Serialization.SamlXmlReader.EntityResolver" /> is null.
source
Xml Traverser source - used to report errors.
issuer
The issuer to find parameters for.
ct
Cancellation token.
protected static
void
CallErrorInspector​(System.​Action?<​Xml.​ReadErrorInspectorContext<​TData>> errorInspector,
TData data,
Xml.​XmlTraverser source)
Call the supplied error inspector callback if there are errors.
errorInspector
Error inspector callback
data
The data
source
Source xml
protected
Metadata.​Endpoint
ReadEndpoint​(Xml.​XmlTraverser source)
Reads an endpoint.
Returns Endpoint read
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Metadata.​Endpoint endpoint)
Read endpoint attributes.
source
Source
endpoint
Endpoint
protected
Metadata.​IndexedEndpoint
ReadIndexedEndpoint​(Xml.​XmlTraverser source)
Read indexed endpoint
Returns IndexedEndpoint
source
Source
public
System.​Threading.​Tasks.​Task<​Metadata.​EntityDescriptor>
ReadEntityDescriptorAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
public
System.​Threading.​Tasks.​Task<​Metadata.​EntityDescriptor>
ReadEntityDescriptorAsync​(Xml.​XmlTraverser source,
System.​Action<​Xml.​ReadErrorInspectorContext<​Metadata.​EntityDescriptor>> errorInspector,
System.​Threading.​CancellationToken ct)
ReadEntityDescriptorCore​(Xml.​XmlTraverser source)
Read an EntityDescriptor
Returns EntityDescriptor
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Metadata.​EntityDescriptor entityDescriptor)
Read attributes of EntityDescriptor
source
Source data
entityDescriptor
EntityDescriptor
protected
void
ReadElements​(Xml.​XmlTraverser source,
Metadata.​EntityDescriptor entityDescriptor)
Read the child elements of the EntityDescriptor.
source
Source data
entityDescriptor
Entity Descriptor to populate
protected
Common.​Extensions
ReadExtensions​(Xml.​XmlTraverser source)
Read Extensions node.
Returns Extensions
source
Soure to read from
protected
Samlp.​IdpEntry
ReadIdpEntry​(Xml.​XmlTraverser source)
Read a IdpEntry.
Returns IdpEntry
source
Xml Traverser to read from
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​IdpEntry result)
Read IdpEntry attributes.
source
Source
result
result
protected
Samlp.​IdpList
ReadIdpList​(Xml.​XmlTraverser source)
Read IdpList.
Returns IdpList
source
Xml Traverser to read from
protected
void
ReadElements​(Xml.​XmlTraverser source,
Samlp.​IdpList result)
Reads elements of a IdpList.
source
Source Xml Reader
result
Subject to populate
ReadIDPSSODescriptor​(Xml.​XmlTraverser source)
Read the current node as an IDPSSODescriptor
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Metadata.​IDPSSODescriptor result)
Read attributes of IDPSSODescriptor.
source
Xml traverser to read from
result
Result
protected
void
ReadElements​(Xml.​XmlTraverser source,
Metadata.​IDPSSODescriptor result)
Read child elements of IDPSSODescriptor
source
Xml traverser to read from
protected
Metadata.​KeyDescriptor
ReadKeyDescriptor​(Xml.​XmlTraverser source)
Read KeyDescriptor
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Metadata.​KeyDescriptor keyDescriptor)
Reads attributes of a KeyDescriptor
source
Xml traverser to read from
keyDescriptor
The KeyDescriptor to populate
protected
void
ReadElements​(Xml.​XmlTraverser source,
Metadata.​KeyDescriptor keyDescriptor)
Reads the child elements of a KeyDescriptor.
source
Xml traverser to read from
keyDescriptor
KeyDescriptor to populate
public
System.​Threading.​Tasks.​Task<​Samlp.​LogoutRequest>
ReadLogoutRequestAsync​(Xml.​XmlTraverser source,
System.​Action?<​Xml.​ReadErrorInspectorContext<​Samlp.​LogoutRequest>> errorInspector,
System.​Threading.​CancellationToken ct)
protected
System.​Threading.​Tasks.​Task<​Samlp.​LogoutRequest>
ReadLogoutRequestCoreAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
Read a <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutRequest" />
Returns The <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutRequest" /> read
source
Xml Traverser to read from
ct
Cancellation token
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​LogoutRequest logoutRequest)
Reads attributes of a <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutRequest" />
source
Xml Traverser to read from
logoutRequest
The <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutRequest" /> to populate
ReadElementsAsync​(Xml.​XmlTraverser source,
Samlp.​LogoutRequest logoutRequest,
System.​Threading.​CancellationToken ct)
Reads the child elements of a <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutRequest" />
source
Xml traverser to read from
logoutRequest
<see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutRequest" /> to populate
ct
Cancellation token
public
System.​Threading.​Tasks.​Task<​Samlp.​LogoutResponse>
ReadLogoutResponseAsync​(Xml.​XmlTraverser source,
System.​Action?<​Xml.​ReadErrorInspectorContext<​Samlp.​LogoutResponse>> errorInspector,
System.​Threading.​CancellationToken ct)
protected
System.​Threading.​Tasks.​Task<​Samlp.​LogoutResponse>
ReadLogoutResponseCoreAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
Read a <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutResponse" />
Returns The <see cref="T:Duende.IdentityServer.Saml.Samlp.LogoutResponse" /> read
source
Xml Traverser to read from
ct
Cancellation token
Returns NameId
source
Xml Traverser to read from
protected
void
ReadContents​(Xml.​XmlTraverser source,
NameId nameId)
Reads contents of a NameId
source
Xml traverser to read from
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
NameId nameId)
Reads attributes of a NameId
source
Xml traverser to read from
nameId
The NameId to populate
protected
Samlp.​NameIdPolicy
ReadNameIdPolicy​(Xml.​XmlTraverser source)
Reads a NameIdPolicy.
Returns read
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​NameIdPolicy nameIdPolicy)
Read NameIdPolicy attributes.
source
Source
nameIdPolicy
NameIdPolicy
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​RequestAbstractType request)
Read attributes of <see cref="T:Duende.IdentityServer.Saml.Samlp.RequestAbstractType" />
source
Xml travers
request
RequestAbstractType
ReadElementsAsync​(Xml.​XmlTraverser source,
Samlp.​RequestAbstractType request,
System.​Threading.​CancellationToken ct)
Reads the child elements of a RequestAbstractType
source
Xml traverser to read from
request
RequestAbstractType to populate
ct
Cancellation token
ReadRequestedAuthnContext​(Xml.​XmlTraverser source)
Reads a RequestedAuthnContext.
Returns read
source
Source data
protected
void
ReadElements​(Xml.​XmlTraverser source,
Samlp.​RequestedAuthnContext requestedAuthnContext)
Reads elements of a requestedAuthnContext.
source
Source Xml Reader
requestedAuthnContext
RequestedAuthnContext to populate
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​RequestedAuthnContext requestedAuthnContext)
Read RequestedAuthnContext attributes.
source
Source
requestedAuthnContext
RequestedAuthnContext
public
System.​Threading.​Tasks.​Task<​Samlp.​Response>
ReadResponseAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
public
System.​Threading.​Tasks.​Task<​Samlp.​Response>
ReadResponseAsync​(Xml.​XmlTraverser source,
System.​Action<​Xml.​ReadErrorInspectorContext<​Samlp.​Response>> errorInspector,
System.​Threading.​CancellationToken ct)
protected
System.​Threading.​Tasks.​Task<​Samlp.​Response>
ReadResponseCoreAsync​(Xml.​XmlTraverser source,
System.​Threading.​CancellationToken ct)
Read a Saml Response
Returns SamlResponse
source
Source Data
ct
Cancellation token
ReadElementsAsync​(Xml.​XmlTraverser source,
Samlp.​Response response,
System.​Threading.​CancellationToken ct)
Read elements of SamlResponse
source
XmlTraverser
response
Response to populate
ct
Cancellation token
protected
Metadata.​RoleDescriptor
ReadRoleDescriptor​(Xml.​XmlTraverser source)
Process a RoleDescriptor element.
Returns True if current node was a RoleDescriptor element
source
Source
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Metadata.​RoleDescriptor result)
Read attributs of RoleDescriptor
source
Source data
result
Target to set properties on
protected
void
ReadElements​(Xml.​XmlTraverser source,
Metadata.​RoleDescriptor result)
Read elements of RoleDescriptor
Returns More elements available?
source
Source data
result
Target to set properties on
protected
Samlp.​Scoping
ReadScoping​(Xml.​XmlTraverser source)
Reads a Scoping.
Returns read
source
Source data
protected
void
ReadElements​(Xml.​XmlTraverser source,
Samlp.​Scoping scoping)
Reads elements of a Scoping.
source
Source Xml Reader
scoping
Scoping
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​Scoping scoping)
Read Scoping attributes.
source
Source
scoping
Scoping
protected
Samlp.​SamlStatus
ReadStatus​(Xml.​XmlTraverser source)
Reads Status
Returns Status
source
Xml Traverser
protected
void
ReadElements​(Xml.​XmlTraverser source,
Samlp.​SamlStatus status)
Reads elements of SamlStatus
source
Xml Traverser
status
Status to populate
protected
Samlp.​StatusCode
ReadStatusCode​(Xml.​XmlTraverser source)
Reads a status code
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​StatusCode statusCode)
Reads attributes of StatusCode
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
Samlp.​StatusResponseType response)
Read attributes of a status response
source
Xml traverser
response
StatusResponse
ReadElementsAsync​(Xml.​XmlTraverser source,
Samlp.​StatusResponseType response,
System.​Threading.​CancellationToken ct)
Read elements of abstract StatusResponseType
source
XML Traverser
response
Response to populate
ct
Cancellation token
protected
Subject
ReadSubject​(Xml.​XmlTraverser source)
Reads a Subject.
Returns Subject read
source
Source data
protected
void
ReadElements​(Xml.​XmlTraverser source,
Subject subject)
Reads elements of a subject.
source
Source Xml Reader
subject
Subject to populate
protected
SubjectConfirmation
ReadSubjectConfirmation​(Xml.​XmlTraverser source)
Reads a SubjectConfirmation.
Returns SubjectConfirmation read
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
SubjectConfirmation subjectConfirmation)
Reads attributes of SubjectConfirmation
source
Source
subjectConfirmation
SubjectConfirmation
protected
void
ReadElements​(Xml.​XmlTraverser source,
SubjectConfirmation subjectConfirmation)
Reads elements of a SubjectConfirmation.
source
Source Xml Reader
subjectConfirmation
Subject to populate
protected
SubjectConfirmationData
ReadSubjectConfirmationData​(Xml.​XmlTraverser source)
Reads a SubjectConfirmationData.
Returns SubjectConfirmationData read
source
Source data
protected
void
ReadAttributes​(Xml.​XmlTraverser source,
SubjectConfirmationData subjectConfirmationData)
Read SubjectConfirmationData attributes.
source
Source
subjectConfirmationData
SubjectConfirmationData
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