Show / Hide Table of Contents

Class SAMLHttpRequest

Provides a mechanism for receiving a SAML protocol message through a non-standard HTTP request.

Inheritance
System.Object
System.Web.HttpRequestBase
SAMLHttpRequest
Implements
System.IDisposable
Inherited Members
System.Web.HttpRequestBase.Abort()
System.Web.HttpRequestBase.BinaryRead(System.Int32)
System.Web.HttpRequestBase.GetBufferedInputStream()
System.Web.HttpRequestBase.GetBufferlessInputStream()
System.Web.HttpRequestBase.GetBufferlessInputStream(System.Boolean)
System.Web.HttpRequestBase.InsertEntityBody()
System.Web.HttpRequestBase.InsertEntityBody(System.Byte[], System.Int32, System.Int32)
System.Web.HttpRequestBase.MapImageCoordinates(System.String)
System.Web.HttpRequestBase.MapRawImageCoordinates(System.String)
System.Web.HttpRequestBase.MapPath(System.String)
System.Web.HttpRequestBase.MapPath(System.String, System.String, System.Boolean)
System.Web.HttpRequestBase.ValidateInput()
System.Web.HttpRequestBase.SaveAs(System.String, System.Boolean)
System.Web.HttpRequestBase.AcceptTypes
System.Web.HttpRequestBase.ApplicationPath
System.Web.HttpRequestBase.AnonymousID
System.Web.HttpRequestBase.AppRelativeCurrentExecutionFilePath
System.Web.HttpRequestBase.Browser
System.Web.HttpRequestBase.HttpChannelBinding
System.Web.HttpRequestBase.ClientCertificate
System.Web.HttpRequestBase.ContentEncoding
System.Web.HttpRequestBase.ContentType
System.Web.HttpRequestBase.CurrentExecutionFilePath
System.Web.HttpRequestBase.CurrentExecutionFilePathExtension
System.Web.HttpRequestBase.FilePath
System.Web.HttpRequestBase.Files
System.Web.HttpRequestBase.Filter
System.Web.HttpRequestBase.IsAuthenticated
System.Web.HttpRequestBase.IsLocal
System.Web.HttpRequestBase.LogonUserIdentity
System.Web.HttpRequestBase.Params
System.Web.HttpRequestBase.PathInfo
System.Web.HttpRequestBase.PhysicalApplicationPath
System.Web.HttpRequestBase.PhysicalPath
System.Web.HttpRequestBase.ReadEntityBodyMode
System.Web.HttpRequestBase.RequestContext
System.Web.HttpRequestBase.TimedOutToken
System.Web.HttpRequestBase.TlsTokenBindingInfo
System.Web.HttpRequestBase.TotalBytes
System.Web.HttpRequestBase.Unvalidated
System.Web.HttpRequestBase.UrlReferrer
System.Web.HttpRequestBase.UserAgent
System.Web.HttpRequestBase.UserLanguages
System.Web.HttpRequestBase.UserHostAddress
System.Web.HttpRequestBase.UserHostName
System.Web.HttpRequestBase.Item[System.String]
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: ComponentSpace.SAML2.Utility
Assembly: ComponentSpace.Saml2.dll
Syntax
public class SAMLHttpRequest : HttpRequestBase, IDisposable

Constructors

SAMLHttpRequest()

Initializes a new instance of the SAMLHttpRequest class.

Declaration
public SAMLHttpRequest()

SAMLHttpRequest(String, String, Boolean, Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Post binding.

Declaration
public SAMLHttpRequest(string samlMessage, string relayState, bool isSAMLRequest, Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.String samlMessage

The SAML message base-64 encoded string.

System.String relayState

The relay state or null if none

System.Boolean isSAMLRequest

The flag indicating whether this is a SAML request or response.

System.Uri url

The URL used to receive the SAML message.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

SAMLHttpRequest(String, String, Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Post binding.

Declaration
public SAMLHttpRequest(string samlMessage, string relayState, Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.String samlMessage

The SAML message base-64 encoded string.

System.String relayState

The relay state or null if none.

System.Uri url

The URL used to receive the SAML message.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

SAMLHttpRequest(Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Redirect binding.

Declaration
public SAMLHttpRequest(Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.Uri url

The URL including the SAML query string parameters.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

SAMLHttpRequest(XmlElement, String, Boolean, AsymmetricAlgorithm, String, Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Redirect binding.

Declaration
public SAMLHttpRequest(XmlElement samlMessage, string relayState, bool isSAMLRequest, AsymmetricAlgorithm key, string signatureAlgorithm, Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.Xml.XmlElement samlMessage

The SAML message XML.

System.String relayState

The relay state or null if none

System.Boolean isSAMLRequest

The flag indicating whether this is a SAML request or response.

System.Security.Cryptography.AsymmetricAlgorithm key

The key to generate the signature or null if no signature is to be generated.

System.String signatureAlgorithm

The signature algorithm or null to default to http://www.w3.org/2001/04/xmldsig-more#rsa-sha256.

System.Uri url

The URL used to receive the SAML message.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

SAMLHttpRequest(XmlElement, String, Boolean, Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Post binding.

Declaration
public SAMLHttpRequest(XmlElement samlMessage, string relayState, bool isSAMLRequest, Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.Xml.XmlElement samlMessage

The SAML message XML.

System.String relayState

The relay state or null if none.

System.Boolean isSAMLRequest

The flag indicating whether this is a SAML request or response.

System.Uri url

The URL used to receive the SAML message.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

SAMLHttpRequest(XmlElement, String, AsymmetricAlgorithm, String, Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Redirect binding.

Declaration
public SAMLHttpRequest(XmlElement samlMessage, string relayState, AsymmetricAlgorithm key, string signatureAlgorithm, Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.Xml.XmlElement samlMessage

The SAML message XML.

System.String relayState

The relay state or null if none

System.Security.Cryptography.AsymmetricAlgorithm key

The key to generate the signature or null if no signature is to be generated.

System.String signatureAlgorithm

The signature algorithm or null to default to http://www.w3.org/2001/04/xmldsig-more#rsa-sha256.

System.Uri url

The URL used to receive the SAML message.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

SAMLHttpRequest(XmlElement, String, Uri, HttpCookieCollection)

Initializes a new instance of the SAMLHttpRequest class.

The SAML message is received using the HTTP-Post binding.

Declaration
public SAMLHttpRequest(XmlElement samlMessage, string relayState, Uri url, HttpCookieCollection cookies)
Parameters
Type Name Description
System.Xml.XmlElement samlMessage

The SAML message XML.

System.String relayState

The relay state or null if none.

System.Uri url

The URL used to receive the SAML message.

System.Web.HttpCookieCollection cookies

The HTTP cookies or null if none.

Properties

ContentLength

Gets the content length of the HTTP request used to receive the SAML message.

Declaration
public override int ContentLength { get; }
Property Value
Type Description
System.Int32

The content length of the HTTP request used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.ContentLength

Cookies

Gets the collection of cookies.

Declaration
public override HttpCookieCollection Cookies { get; }
Property Value
Type Description
System.Web.HttpCookieCollection

The collection of cookies.

Overrides
System.Web.HttpRequestBase.Cookies

Form

Gets the form variables used to receive the SAML message.

Declaration
public override NameValueCollection Form { get; }
Property Value
Type Description
System.Collections.Specialized.NameValueCollection

The form variables used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.Form

Headers

Gets the headers used to receive the SAML message.

Declaration
public override NameValueCollection Headers { get; }
Property Value
Type Description
System.Collections.Specialized.NameValueCollection

The headers used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.Headers

HttpMethod

Gets the HTTP method (Get or Post) used to receive the SAML message.

Declaration
public override string HttpMethod { get; }
Property Value
Type Description
System.String

The HTTP method used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.HttpMethod

InputStream

Gets the input stream used to receive the SAML message.

Declaration
public override Stream InputStream { get; }
Property Value
Type Description
System.IO.Stream

The input stream used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.InputStream

IsSecureConnection

Gets the flag indicating whether the connection is secure (ie HTTPS).

Declaration
public override bool IsSecureConnection { get; }
Property Value
Type Description
System.Boolean

The the flag indicating whether the connection is secure (ie HTTPS).

Overrides
System.Web.HttpRequestBase.IsSecureConnection

Path

Gets the path used to receive the SAML message.

Declaration
public override string Path { get; }
Property Value
Type Description
System.String

The path used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.Path

QueryString

Gets the query string variables used to receive the SAML message.

Declaration
public override NameValueCollection QueryString { get; }
Property Value
Type Description
System.Collections.Specialized.NameValueCollection

The query string variables used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.QueryString

RawUrl

Gets the raw URL used to receive the SAML message.

Declaration
public override string RawUrl { get; }
Property Value
Type Description
System.String

The raw URL used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.RawUrl

RequestType

Gets the request type (Get or Post) used to receive the SAML message.

Declaration
public override string RequestType { get; set; }
Property Value
Type Description
System.String

The request type used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.RequestType

ServerVariables

Gets the server variables used to receive the SAML message.

Declaration
public override NameValueCollection ServerVariables { get; }
Property Value
Type Description
System.Collections.Specialized.NameValueCollection

The server variables used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.ServerVariables

Url

Gets the URL used to receive the SAML message.

Declaration
public override Uri Url { get; }
Property Value
Type Description
System.Uri

The URL used to receive the SAML message.

Overrides
System.Web.HttpRequestBase.Url

Methods

Dispose()

Dispose of any unmanaged resources.

Declaration
public void Dispose()

Dispose(Boolean)

Dispose of any unmanaged resources.

Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
System.Boolean disposing

true if called by user code; false if called by the runtime from within the finalizer

Implements

System.IDisposable
In This Article
Back to top Copyright © ComponentSpace Pty Ltd 2004-2022. All rights reserved.