<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Proton DotNet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html">Sasl</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client.html">Client</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html">SaslAuthenticator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Handles SASL traffic from the proton engine and drives the authentication process for a client connection.  
 <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.png" usemap="#Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator_map" alt=""/>
  <map id="Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator_map" name="Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html" title="Listener for SASL frame arrival to facilitate relevant handling for the SASL authentication of the cl..." alt="Apache.Qpid.Proton.Engine.Sasl.ISaslClientAuthenticator" shape="rect" coords="0,0,338,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a67c81c29d9f0f6fbcf2e7932b4514cc4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a67c81c29d9f0f6fbcf2e7932b4514cc4">SaslAuthenticator</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1ISaslCredentialsProvider.html">ISaslCredentialsProvider</a> credentials)</td></tr>
<tr class="memdesc:a67c81c29d9f0f6fbcf2e7932b4514cc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new SASL Authenticator initialized with the given credentials provider instance. Because no Mechanism selector is given the full set of supported SASL mechanisms will be chosen from when attempting to match one to the server offered SASL mechanisms.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a67c81c29d9f0f6fbcf2e7932b4514cc4">More...</a><br /></td></tr>
<tr class="separator:a67c81c29d9f0f6fbcf2e7932b4514cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97809187bbd3738e62aebbfd46b794ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a97809187bbd3738e62aebbfd46b794ca">SaslAuthenticator</a> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslMechanismSelector.html">SaslMechanismSelector</a> selector, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1ISaslCredentialsProvider.html">ISaslCredentialsProvider</a> credentials)</td></tr>
<tr class="memdesc:a97809187bbd3738e62aebbfd46b794ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new client SASL Authenticator with the given Mechanism and client credentials provider instances. The configured Mechanism selector is used when attempting to match a SASL Mechanism with the server offered set of supported SASL mechanisms.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a97809187bbd3738e62aebbfd46b794ca">More...</a><br /></td></tr>
<tr class="separator:a97809187bbd3738e62aebbfd46b794ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a717ee1a8a93234bee6fe42394dc3958d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html">SaslAuthenticator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a717ee1a8a93234bee6fe42394dc3958d">SaslComplete</a> (Action&lt; <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a> &gt; saslCompleteEventHandler)</td></tr>
<tr class="memdesc:a717ee1a8a93234bee6fe42394dc3958d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a completion handler that will be notified once the SASL exchange has completed. The notification includes the SaslOutcome value which indicates if authentication succeeded or failed.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a717ee1a8a93234bee6fe42394dc3958d">More...</a><br /></td></tr>
<tr class="separator:a717ee1a8a93234bee6fe42394dc3958d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a212fb32b766a3c251f36614b0e6dbe49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html">SaslAuthenticator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a212fb32b766a3c251f36614b0e6dbe49">SaslComplete</a> (Action&lt; <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a>, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> &gt; saslCompleteEventHandler)</td></tr>
<tr class="memdesc:a212fb32b766a3c251f36614b0e6dbe49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a completion handler that will be notified once the SASL exchange has completed. The notification includes the SaslOutcome value which indicates if authentication succeeded or failed. This handler would also receive a buffer with any additional data sent from the remote.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a212fb32b766a3c251f36614b0e6dbe49">More...</a><br /></td></tr>
<tr class="separator:a212fb32b766a3c251f36614b0e6dbe49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaff22f382784f723a3fab77ec717cff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#aaaff22f382784f723a3fab77ec717cff">HandleSaslMechanisms</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a> context, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a>[] mechanisms)</td></tr>
<tr class="memdesc:aaaff22f382784f723a3fab77ec717cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a SASL mechanisms frame has arrived and its effect applied, indicating the offered mechanisms sent by the 'server' peer. The client should respond to the mechanisms event by selecting one from the offered list and use the provided client context to send the chosen mechanism back to the remote server. The caller should ensure that the call to send the chosen mechanism occurs in the same thread as that of this handler call.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#aaaff22f382784f723a3fab77ec717cff">More...</a><br /></td></tr>
<tr class="separator:aaaff22f382784f723a3fab77ec717cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad612cee63514f6f52359ffacc6bb5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#aaad612cee63514f6f52359ffacc6bb5e">HandleSaslChallenge</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a> context, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> challenge)</td></tr>
<tr class="memdesc:aaad612cee63514f6f52359ffacc6bb5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a SASL challenge frame has arrived and its effect applied, indicating the challenge sent by the 'server' peer. The client should respond to the mechanisms event by creating a response buffer and sending it using the context API either immediately or later but using the same thread context as this event arrived in.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#aaad612cee63514f6f52359ffacc6bb5e">More...</a><br /></td></tr>
<tr class="separator:aaad612cee63514f6f52359ffacc6bb5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78224f65d83d7fa239a8d9568983ad29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a78224f65d83d7fa239a8d9568983ad29">HandleSaslOutcome</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a> context, <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a> outcome, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> additional)</td></tr>
<tr class="memdesc:a78224f65d83d7fa239a8d9568983ad29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a SASL outcome frame has arrived and its effect applied, indicating the outcome and any success additional data sent by the 'server' peer. The client can consider the SASL negotiations complete following this event. The client should respond appropriately to the outcome whose state can indicate that negotiations have failed and the server has not authenticated the client.  <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html#a78224f65d83d7fa239a8d9568983ad29">More...</a><br /></td></tr>
<tr class="separator:a78224f65d83d7fa239a8d9568983ad29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html">Apache.Qpid.Proton.Engine.Sasl.ISaslClientAuthenticator</a></td></tr>
<tr class="memitem:a3c3b4836daa7b2e8477e1c6551e47ed8 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html#a3c3b4836daa7b2e8477e1c6551e47ed8">Initialize</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a> context)</td></tr>
<tr class="memdesc:a3c3b4836daa7b2e8477e1c6551e47ed8 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called before SASL authentication begins to give the application code a clear point to initialize all the client side expectations.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html#a3c3b4836daa7b2e8477e1c6551e47ed8">More...</a><br /></td></tr>
<tr class="separator:a3c3b4836daa7b2e8477e1c6551e47ed8 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Handles SASL traffic from the proton engine and drives the authentication process for a client connection. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a67c81c29d9f0f6fbcf2e7932b4514cc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67c81c29d9f0f6fbcf2e7932b4514cc4">&#9670;&nbsp;</a></span>SaslAuthenticator() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.SaslAuthenticator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1ISaslCredentialsProvider.html">ISaslCredentialsProvider</a>&#160;</td>
          <td class="paramname"><em>credentials</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a new SASL Authenticator initialized with the given credentials provider instance. Because no Mechanism selector is given the full set of supported SASL mechanisms will be chosen from when attempting to match one to the server offered SASL mechanisms. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">credentials</td><td>Credentials to use for authentication</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If any of the params are null</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a97809187bbd3738e62aebbfd46b794ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97809187bbd3738e62aebbfd46b794ca">&#9670;&nbsp;</a></span>SaslAuthenticator() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.SaslAuthenticator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslMechanismSelector.html">SaslMechanismSelector</a>&#160;</td>
          <td class="paramname"><em>selector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1ISaslCredentialsProvider.html">ISaslCredentialsProvider</a>&#160;</td>
          <td class="paramname"><em>credentials</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a new client SASL Authenticator with the given Mechanism and client credentials provider instances. The configured Mechanism selector is used when attempting to match a SASL Mechanism with the server offered set of supported SASL mechanisms. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">selector</td><td></td></tr>
    <tr><td class="paramname">credentials</td><td>Credentials to use for authentication</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If any of the params are null</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aaad612cee63514f6f52359ffacc6bb5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaad612cee63514f6f52359ffacc6bb5e">&#9670;&nbsp;</a></span>HandleSaslChallenge()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.HandleSaslChallenge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>challenge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called when a SASL challenge frame has arrived and its effect applied, indicating the challenge sent by the 'server' peer. The client should respond to the mechanisms event by creating a response buffer and sending it using the context API either immediately or later but using the same thread context as this event arrived in. </p>
<p>In the event that the client cannot perform the negotiation due to some configuration or other internal issue it should call the failure method of the sasl client context provided here. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The client context handling the SASL exchange</td></tr>
    <tr><td class="paramname">challenge</td><td>The challenge bytes sent from the server</td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html#af7793c4ad3c9552f813e337797c953b5">Apache.Qpid.Proton.Engine.Sasl.ISaslClientAuthenticator</a>.</p>

</div>
</div>
<a id="aaaff22f382784f723a3fab77ec717cff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaff22f382784f723a3fab77ec717cff">&#9670;&nbsp;</a></span>HandleSaslMechanisms()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.HandleSaslMechanisms </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a>[]&#160;</td>
          <td class="paramname"><em>mechanisms</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called when a SASL mechanisms frame has arrived and its effect applied, indicating the offered mechanisms sent by the 'server' peer. The client should respond to the mechanisms event by selecting one from the offered list and use the provided client context to send the chosen mechanism back to the remote server. The caller should ensure that the call to send the chosen mechanism occurs in the same thread as that of this handler call. </p>
<p>In the event that the client cannot perform the negotiation due to some configuration or other internal issue it should call the failure method of the sasl client context provided here. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The client context handling the SASL exchange</td></tr>
    <tr><td class="paramname">mechanisms</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html#a840cf62ce603d38ee9a30aa796122470">Apache.Qpid.Proton.Engine.Sasl.ISaslClientAuthenticator</a>.</p>

</div>
</div>
<a id="a78224f65d83d7fa239a8d9568983ad29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78224f65d83d7fa239a8d9568983ad29">&#9670;&nbsp;</a></span>HandleSaslOutcome()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.HandleSaslOutcome </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a>&#160;</td>
          <td class="paramname"><em>outcome</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>additional</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called when a SASL outcome frame has arrived and its effect applied, indicating the outcome and any success additional data sent by the 'server' peer. The client can consider the SASL negotiations complete following this event. The client should respond appropriately to the outcome whose state can indicate that negotiations have failed and the server has not authenticated the client. </p>
<p>In the event that the client cannot perform the negotiation due to some configuration or other internal issue it should call the failure method of the sasl client context provided here. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The client context handling the SASL exchange</td></tr>
    <tr><td class="paramname">outcome</td><td>The SASL outcome provided by the server peer</td></tr>
    <tr><td class="paramname">additional</td><td>Optional additional data provided by the server</td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientAuthenticator.html#acf93006593e9de730b89018e64f04fa4">Apache.Qpid.Proton.Engine.Sasl.ISaslClientAuthenticator</a>.</p>

</div>
</div>
<a id="a717ee1a8a93234bee6fe42394dc3958d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a717ee1a8a93234bee6fe42394dc3958d">&#9670;&nbsp;</a></span>SaslComplete() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html">SaslAuthenticator</a> Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.SaslComplete </td>
          <td>(</td>
          <td class="paramtype">Action&lt; <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a> &gt;&#160;</td>
          <td class="paramname"><em>saslCompleteEventHandler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets a completion handler that will be notified once the SASL exchange has completed. The notification includes the SaslOutcome value which indicates if authentication succeeded or failed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">saslCompleteEventHandler</td><td>Handler for the SASL complete event</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This authenticator instance.</dd></dl>

</div>
</div>
<a id="a212fb32b766a3c251f36614b0e6dbe49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a212fb32b766a3c251f36614b0e6dbe49">&#9670;&nbsp;</a></span>SaslComplete() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1SaslAuthenticator.html">SaslAuthenticator</a> Apache.Qpid.Proton.Engine.Sasl.Client.SaslAuthenticator.SaslComplete </td>
          <td>(</td>
          <td class="paramtype">Action&lt; <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a>, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> &gt;&#160;</td>
          <td class="paramname"><em>saslCompleteEventHandler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets a completion handler that will be notified once the SASL exchange has completed. The notification includes the SaslOutcome value which indicates if authentication succeeded or failed. This handler would also receive a buffer with any additional data sent from the remote. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">saslCompleteEventHandler</td><td>Handler for the SASL complete event</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This authenticator instance.</dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Engine/Sasl/Client/SaslAuthenticator.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
