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. |