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

SASL Server operating context used by an Engine that has been configured as a SASL server or that has receiver an AMQP header thereby forcing it into becoming the server side of the SASL exchange. More...

Inheritance diagram for Apache.Qpid.Proton.Engine.Sasl.ISaslServerContext:
Apache.Qpid.Proton.Engine.Sasl.ISaslContext Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonSaslServerContext

Public Member Functions

ISaslServerContext SendMechanisms (Symbol[] mechanisms)
 Sends the set of supported mechanisms to the SASL client from which it must choose and return one mechanism which will then be the basis for the SASL authentication negotiation.
 
ISaslServerContext SendChallenge (IProtonBuffer challenge)
 Sends the SASL challenge defined by the SASL mechanism that is in use during this SASL negotiation. The challenge is an opaque binary that is provided to the server by the security mechanism.
 
ISaslServerContext SendOutcome (SaslAuthOutcome outcome, IProtonBuffer additional)
 Sends a response to a server side challenge that comprises the challenge / response exchange for the chosen SASL mechanism.
 
ISaslServerContext SaslFailure (SaslException failure)
 Allows the server 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 Engine.
 

Properties

ISaslServerAuthenticator Authenticator [get, set]
 Configures the SASL authenticator which will be used to drive the SASL authentication process on the server side.
 
- 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

SASL Server operating context used by an Engine that has been configured as a SASL server or that has receiver an AMQP header thereby forcing it into becoming the server side of the SASL exchange.

Member Function Documentation

◆ SaslFailure()

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

Allows the server 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 Engine.

Parameters
failureThe exception that indicates the reason for the server failure
Returns
This SASL server context instance.

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

◆ SendChallenge()

ISaslServerContext Apache.Qpid.Proton.Engine.Sasl.ISaslServerContext.SendChallenge ( IProtonBuffer  challenge)

Sends the SASL challenge defined by the SASL mechanism that is in use during this SASL negotiation. The challenge is an opaque binary that is provided to the server by the security mechanism.

Parameters
challengeThe challenge bytes to send to the client
Returns
This SASL server context instance.

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

◆ SendMechanisms()

ISaslServerContext Apache.Qpid.Proton.Engine.Sasl.ISaslServerContext.SendMechanisms ( Symbol[]  mechanisms)

Sends the set of supported mechanisms to the SASL client from which it must choose and return one mechanism which will then be the basis for the SASL authentication negotiation.

Parameters
mechanismsThe SASL mechanisms to offer to the client
Returns
This SASL server context instance.

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

◆ SendOutcome()

ISaslServerContext Apache.Qpid.Proton.Engine.Sasl.ISaslServerContext.SendOutcome ( SaslAuthOutcome  outcome,
IProtonBuffer  additional 
)

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

Parameters
outcomeThe SASL Authentication outcome to send
additionalOptional additional data to send
Returns
This SASL server context instance.

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

Property Documentation

◆ Authenticator

ISaslServerAuthenticator Apache.Qpid.Proton.Engine.Sasl.ISaslServerContext.Authenticator
getset

Configures the SASL authenticator which will be used to drive the SASL authentication process on the server side.

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


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