Proton DotNet
Loading...
Searching...
No Matches
Public Member Functions | Properties | List of all members
Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext Interface Reference

Root context of a SASL authentication API which provides common elements used in both clients and servers. More...

Inheritance diagram for Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext:
Apache.Qpid.Proton.Engine.Sasl.ISaslContext Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslClientContext

Public Member Functions

ISaslClientContext SendSASLHeader ()
 Sends the AMQP Header indicating the desire for SASL negotiations to be commenced on this connection. The hosting application my wish to start SASL negotiations prior to opening a connection in order to validation authentication state out of band if the normal open process.
 
ISaslClientContext SendChosenMechanism (Symbol mechanism, string host, IProtonBuffer initialResponse)
 Sends a response to the SASL server indicating the chosen mechanism for this client and the host name that this client is identifying itself as.
 
ISaslClientContext SendResponse (IProtonBuffer response)
 Sends a response to a server side challenge that comprises the challenge / response exchange for the chosen SASL mechanism.
 
ISaslClientContext SaslFailure (SaslException failure)
 Allows the client implementation to fail the SASL negotiation process due to some unrecoverable error. Failing the process will signal the engine that the SASL process has failed and place the engine in a failed state as well as notify the registered error handler for the protocol engine.
 

Properties

ISaslClientAuthenticator Authenticator [get, set]
 Configures the SASL Authenticator instance that will process the incoming SASL exchange and provide authentication information and response to challenge requests from the remote.
 
- Properties inherited from Apache.Qpid.Proton.Engine.Sasl.ISaslContext
SaslContextRole Role [get]
 Returns the role this context plays either client or server.
 
IAttachments Attachments [get]
 Access to the linked attachments instance where properties can be attached to this context for later application use.
 
bool IsDone [get]
 Checks if SASL authentication has completed and an outcome is available.
 
bool IsServer [get]
 Provides a quick check for this context being a server context.
 
bool IsClient [get]
 Provides a quick check for this context being a server context.
 
SaslAuthOutcome Outcome [get]
 Gets the outcome of the SASL authentication process. If the SASL exchange is ongoing or the SASL layer was skipped because a particular engine configuration allows such behavior then this method should return null to indicate no SASL outcome is available.
 
EngineSaslState State [get]
 Returns a state enum that indicates the current operating state of the SASL negotiation process or conversely if no SASL layer is configured this method should return the no-SASL state. This method must never return a null result.
 
Symbol[] ServerMechanisms [get]
 After the server has sent its supported mechanisms this method will return a copy of that list for review by the server event handler. If called before the server has sent the mechanisms list this method will return null.
 
Symbol ChosenMechanism [get]
 Returns the mechanism that was sent to the server to select the SASL mechanism to use for negotiations. If called before the client has sent its chosen mechanism this method returns null.
 
string Hostname [get]
 The DNS name of the host (either fully qualified or relative) that was sent to the server which define the host the sending peer is connecting to. If called before the client sent the host name information to the server this method returns null.
 

Detailed Description

Root context of a SASL authentication API which provides common elements used in both clients and servers.

Member Function Documentation

◆ SaslFailure()

ISaslClientContext Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext.SaslFailure ( SaslException  failure)

Allows the client implementation to fail the SASL negotiation process due to some unrecoverable error. Failing the process will signal the engine that the SASL process has failed and place the engine in a failed state as well as notify the registered error handler for the protocol engine.

Parameters
failureThe exception that defines the cause of the failure
Returns
This SASL client context instance.

Implemented in Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslClientContext.

◆ SendChosenMechanism()

ISaslClientContext Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext.SendChosenMechanism ( Symbol  mechanism,
string  host,
IProtonBuffer  initialResponse 
)

Sends a response to the SASL server indicating the chosen mechanism for this client and the host name that this client is identifying itself as.

Parameters
mechanismThe server mechanism that the client has selected
hostThe name of the host
initialResponseThe binary response to transmit
Returns
This SASL client context instance.

Implemented in Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslClientContext.

◆ SendResponse()

ISaslClientContext Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext.SendResponse ( IProtonBuffer  response)

Sends a response to a server side challenge that comprises the challenge / response exchange for the chosen SASL mechanism.

Parameters
responseThe response bytes to transmit
Returns
This SASL client context instance.

Implemented in Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslClientContext.

◆ SendSASLHeader()

ISaslClientContext Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext.SendSASLHeader ( )

Sends the AMQP Header indicating the desire for SASL negotiations to be commenced on this connection. The hosting application my wish to start SASL negotiations prior to opening a connection in order to validation authentication state out of band if the normal open process.

Returns
This SASL client context instance.

Implemented in Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslClientContext.

Property Documentation

◆ Authenticator

ISaslClientAuthenticator Apache.Qpid.Proton.Engine.Sasl.ISaslClientContext.Authenticator
getset

Configures the SASL Authenticator instance that will process the incoming SASL exchange and provide authentication information and response to challenge requests from the remote.

Implemented in Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslClientContext.


The documentation for this interface was generated from the following file: