<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SaslClientListener (Qpid ProtonJ2 Parent 1.0.0-M19 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.engine.sasl, interface: SaslClientListener">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/SaslClientListener.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine.sasl</a></div>
<h1 title="Interface SaslClientListener" class="title">Interface SaslClientListener</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="client/SaslAuthenticator.html" title="class in org.apache.qpid.protonj2.engine.sasl.client">SaslAuthenticator</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">SaslClientListener</span></div>
<div class="block">Listener for SASL frame arrival to facilitate relevant handling for the SASL
 negotiation of the client side of the SASL exchange.

 See the AMQP specification
 <a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-security-v1.0-os.html#doc-idp51040">
 SASL negotiation process</a> overview for related detail.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#handleSaslChallenge(org.apache.qpid.protonj2.engine.sasl.SaslClientContext,org.apache.qpid.protonj2.buffer.ProtonBuffer)" class="member-name-link">handleSaslChallenge</a><wbr>(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context,
 <a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;challenge)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Called when a SASL challenge frame has arrived and its effect applied, indicating the
 challenge sent by the 'server' peer.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#handleSaslMechanisms(org.apache.qpid.protonj2.engine.sasl.SaslClientContext,org.apache.qpid.protonj2.types.Symbol%5B%5D)" class="member-name-link">handleSaslMechanisms</a><wbr>(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context,
 <a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]&nbsp;mechanisms)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Called when a SASL mechanisms frame has arrived and its effect applied, indicating
 the offered mechanisms sent by the 'server' peer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#handleSaslOutcome(org.apache.qpid.protonj2.engine.sasl.SaslClientContext,org.apache.qpid.protonj2.engine.sasl.SaslOutcome,org.apache.qpid.protonj2.buffer.ProtonBuffer)" class="member-name-link">handleSaslOutcome</a><wbr>(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context,
 <a href="SaslOutcome.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslOutcome</a>&nbsp;outcome,
 <a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;additional)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">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.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#initialize(org.apache.qpid.protonj2.engine.sasl.SaslClientContext)" class="member-name-link">initialize</a><wbr>(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Called to give the application code a clear point to initialize all the client side expectations.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="initialize(org.apache.qpid.protonj2.engine.sasl.SaslClientContext)">
<h3>initialize</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">initialize</span><wbr><span class="parameters">(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context)</span></div>
<div class="block">Called to give the application code a clear point to initialize all the client side expectations.
 <p>
 The application should use this event to configure the client mechanisms and other client
 authentication properties.
 <p>
 In the event that the client implementation cannot proceed with SASL authentication it should call the
 <a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a>
 to signal the <a href="../Engine.html" title="interface in org.apache.qpid.protonj2.engine"><code>Engine</code></a> that it should transition to a failed state.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - the <a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslClientContext</code></a> used to authenticate the connection.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleSaslMechanisms(org.apache.qpid.protonj2.engine.sasl.SaslClientContext,org.apache.qpid.protonj2.types.Symbol[])">
<h3>handleSaslMechanisms</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">handleSaslMechanisms</span><wbr><span class="parameters">(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context,
 <a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]&nbsp;mechanisms)</span></div>
<div class="block">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 calling the
 <a href="SaslClientContext.html#sendChosenMechanism(org.apache.qpid.protonj2.types.Symbol,java.lang.String,org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>SaslClientContext.sendChosenMechanism(Symbol, String, ProtonBuffer)</code></a> method immediately
 or later using the same thread that triggered this event.
 <p>
 In the event that the client implementation cannot proceed with SASL authentication it should call the
 <a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a> to fail
 the SASL negotiation and signal the <a href="../Engine.html" title="interface in org.apache.qpid.protonj2.engine"><code>Engine</code></a> that it should transition to a failed state.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - the <a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslClientContext</code></a> that is to handle the mechanism selection</dd>
<dd><code>mechanisms</code> - the mechanisms that the remote supports.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="SaslClientContext.html#sendChosenMechanism(org.apache.qpid.protonj2.types.Symbol,java.lang.String,org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>SaslClientContext.sendChosenMechanism(Symbol, String, ProtonBuffer)</code></a></li>
<li><a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleSaslChallenge(org.apache.qpid.protonj2.engine.sasl.SaslClientContext,org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<h3>handleSaslChallenge</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">handleSaslChallenge</span><wbr><span class="parameters">(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context,
 <a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;challenge)</span></div>
<div class="block">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 selecting one from the offered list and calling the
 <a href="SaslClientContext.html#sendResponse(org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>SaslClientContext.sendResponse(ProtonBuffer)</code></a> method immediately or later using the same
 thread that triggered this event.
 <p>
 In the event that the client implementation cannot proceed with SASL authentication it should call the
 <a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a> to fail
 the SASL negotiation and signal the <a href="../Engine.html" title="interface in org.apache.qpid.protonj2.engine"><code>Engine</code></a> that it should transition to a failed state.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - the <a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslClientContext</code></a> that is to handle the SASL challenge.</dd>
<dd><code>challenge</code> - the challenge bytes sent from the SASL server.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="SaslClientContext.html#sendResponse(org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>SaslClientContext.sendResponse(ProtonBuffer)</code></a></li>
<li><a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleSaslOutcome(org.apache.qpid.protonj2.engine.sasl.SaslClientContext,org.apache.qpid.protonj2.engine.sasl.SaslOutcome,org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<h3>handleSaslOutcome</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">handleSaslOutcome</span><wbr><span class="parameters">(<a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl">SaslClientContext</a>&nbsp;context,
 <a href="SaslOutcome.html" title="enum in org.apache.qpid.protonj2.engine.sasl">SaslOutcome</a>&nbsp;outcome,
 <a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;additional)</span></div>
<div class="block">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>
 In the event that the client implementation cannot proceed with SASL authentication it should call the
 <a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a> to fail
 the SASL negotiation and signal the <a href="../Engine.html" title="interface in org.apache.qpid.protonj2.engine"><code>Engine</code></a> that it should transition to a failed state.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - the <a href="SaslClientContext.html" title="interface in org.apache.qpid.protonj2.engine.sasl"><code>SaslClientContext</code></a> that is to handle the resulting SASL outcome.</dd>
<dd><code>outcome</code> - the outcome that was supplied by the SASL "server".</dd>
<dd><code>additional</code> - the additional data sent from the server, or null if none.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="SaslClientContext.html#saslFailure(javax.security.sasl.SaslException)"><code>SaslClientContext.saslFailure(javax.security.sasl.SaslException)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
