Class HttpRedirectBinding
Supports the HTTP redirect binding.
Implements
Inherited Members
Namespace: ComponentSpace.Saml2.Bindings.Redirect
Assembly: ComponentSpace.Saml2.dll
Syntax
public class HttpRedirectBinding : IHttpRedirectBinding
  Remarks
Refer to the Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0 specification for further details.
Constructors
HttpRedirectBinding(IHttpRequest, IHttpResponse, ILoggerFactory)
Initializes a new instance of the HttpRedirectBinding class.
Declaration
public HttpRedirectBinding(IHttpRequest request, IHttpResponse response, ILoggerFactory loggerFactory)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IHttpRequest | request | The HTTP request.  | 
      
| IHttpResponse | response | The HTTP response.  | 
      
| ILoggerFactory | loggerFactory | The logger factory.  | 
      
Methods
GenerateSignature(AsymmetricAlgorithm, string, byte[])
Generates a signature.
Declaration
protected virtual byte[] GenerateSignature(AsymmetricAlgorithm key, string signatureAlgorithm, byte[] dataToSign)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AsymmetricAlgorithm | key | The key.  | 
      
| string | signatureAlgorithm | The signature algorithm.  | 
      
| byte[] | dataToSign | The data to sign.  | 
      
Returns
| Type | Description | 
|---|---|
| byte[] | The signature.  | 
      
GetHashAlgorithmName(string)
Gets the hash algorithm name for the specified signature algorithm.
Declaration
protected virtual HashAlgorithmName GetHashAlgorithmName(string signatureAlgorithm)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | signatureAlgorithm | The signature algorithm.  | 
      
Returns
| Type | Description | 
|---|---|
| HashAlgorithmName | The hash algorithm name.  | 
      
IsValid()
Indicates whether the current HTTP request is valid for the binding.
Declaration
public virtual bool IsValid()
  Returns
| Type | Description | 
|---|---|
| bool | 
  | 
      
ReceiveMessageAsync(AsymmetricAlgorithm)
Receives a SAML message.
Declaration
public virtual Task<ReceiveResult> ReceiveMessageAsync(AsymmetricAlgorithm key)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AsymmetricAlgorithm | key | The key to verify the signature or   | 
      
Returns
| Type | Description | 
|---|---|
| Task<ReceiveResult> | A task that represents the operation and returns the HTTP Redirect result.  | 
      
Exceptions
| Type | Condition | 
|---|---|
| SamlBindingException | Thrown if the SAML message cannot be received.  | 
      
SendMessageAsync(string, string, bool, string, AsymmetricAlgorithm, string)
Sends a SAML message.
Declaration
public virtual Task SendMessageAsync(string url, string message, bool isResponse, string relayState, AsymmetricAlgorithm key, string signatureAlgorithm)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | url | The URL to receive the SAML message.  | 
      
| string | message | The SAML message XML.  | 
      
| bool | isResponse | The flag indicating whether a SAML request or response.  | 
      
| string | relayState | The relay state or   | 
      
| AsymmetricAlgorithm | key | The key to generate the signature or   | 
      
| string | signatureAlgorithm | The signature algorithm or   | 
      
Returns
| Type | Description | 
|---|---|
| Task | A task that represents the operation.  | 
      
Exceptions
| Type | Condition | 
|---|---|
| SamlBindingException | Thrown if the SAML message cannot be sent.  | 
      
VerifySignature(AsymmetricAlgorithm, byte[], byte[], string)
Verifies a signature.
Declaration
protected virtual bool VerifySignature(AsymmetricAlgorithm key, byte[] signedData, byte[] signature, string signatureAlgorithm)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AsymmetricAlgorithm | key | The key.  | 
      
| byte[] | signedData | The signed data.  | 
      
| byte[] | signature | The signature.  | 
      
| string | signatureAlgorithm | The signature algorithm.  | 
      
Returns
| Type | Description | 
|---|---|
| bool | 
  | 
      
VerifySignatureAsync(AsymmetricAlgorithm)
Verifies the signature.
Declaration
public virtual Task<bool> VerifySignatureAsync(AsymmetricAlgorithm key)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AsymmetricAlgorithm | key | The key to verify the signature.  | 
      
Returns
| Type | Description | 
|---|---|
| Task<bool> | A task that represents the operation and returns   | 
      
Exceptions
| Type | Condition | 
|---|---|
| SamlSignatureException | Thrown if the signature verification fails.  |