blob: b2ed5dd8bf3ad3c7bdcf8dc4890af30bfd73c3a0 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Sep 15 14:13:16 CDT 2022 -->
<title>Authenticator (Eclipse Jetty API Doc - v11.0.12)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-15">
<meta name="description" content="declaration: package: org.eclipse.jetty.security, interface: Authenticator">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.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";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</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/Authenticator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</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><a href="#nested-class-summary">Nested</a>&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 class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</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.eclipse.jetty.security</a></div>
<h1 title="Interface Authenticator" class="title">Interface Authenticator</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="authentication/BasicAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">BasicAuthenticator</a></code>, <code><a href="authentication/ClientCertAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">ClientCertAuthenticator</a></code>, <code><a href="authentication/ConfigurableSpnegoAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">ConfigurableSpnegoAuthenticator</a></code>, <code><a href="authentication/DigestAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">DigestAuthenticator</a></code>, <code><a href="authentication/FormAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">FormAuthenticator</a></code>, <code><a href="jaspi/JaspiAuthenticator.html" title="class in org.eclipse.jetty.security.jaspi">JaspiAuthenticator</a></code>, <code><a href="authentication/LoginAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">LoginAuthenticator</a></code>, <code><a href="openid/OpenIdAuthenticator.html" title="class in org.eclipse.jetty.security.openid">OpenIdAuthenticator</a></code>, <code><a href="authentication/SslClientCertAuthenticator.html" title="class in org.eclipse.jetty.security.authentication">SslClientCertAuthenticator</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Authenticator</span></div>
<div class="block">Authenticator Interface
<p>
An Authenticator is responsible for checking requests and sending
response challenges in order to authenticate a request.
Various types of <a href="../server/Authentication.html" title="interface in org.eclipse.jetty.server"><code>Authentication</code></a> are returned in order to
signal the next step in authentication.</div>
<dl class="notes">
<dt>Version:</dt>
<dd>$Rev: 4793 $ $Date: 2009-03-19 00:00:01 +0100 (Thu, 19 Mar 2009) $</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Interface</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="Authenticator.AuthConfiguration.html" class="type-name-link" title="interface in org.eclipse.jetty.security">Authenticator.AuthConfiguration</a></code></div>
<div class="col-last even-row-color">
<div class="block">Authenticator Configuration</div>
</div>
<div class="col-first odd-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="Authenticator.Factory.html" class="type-name-link" title="interface in org.eclipse.jetty.security">Authenticator.Factory</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Authenticator Factory</div>
</div>
</div>
</section>
</li>
<!-- ========== 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></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><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAuthMethod()" class="member-name-link">getAuthMethod</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</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="#prepareRequest(jakarta.servlet.ServletRequest)" class="member-name-link">prepareRequest</a><wbr>(jakarta.servlet.ServletRequest&nbsp;request)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Called prior to validateRequest.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#secureResponse(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,boolean,org.eclipse.jetty.server.Authentication.User)" class="member-name-link">secureResponse</a><wbr>(jakarta.servlet.ServletRequest&nbsp;request,
jakarta.servlet.ServletResponse&nbsp;response,
boolean&nbsp;mandatory,
<a href="../server/Authentication.User.html" title="interface in org.eclipse.jetty.server">Authentication.User</a>&nbsp;validatedUser)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">is response secure</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="#setConfiguration(org.eclipse.jetty.security.Authenticator.AuthConfiguration)" class="member-name-link">setConfiguration</a><wbr>(<a href="Authenticator.AuthConfiguration.html" title="interface in org.eclipse.jetty.security">Authenticator.AuthConfiguration</a>&nbsp;configuration)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Configure the Authenticator</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../server/Authentication.html" title="interface in org.eclipse.jetty.server">Authentication</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateRequest(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,boolean)" class="member-name-link">validateRequest</a><wbr>(jakarta.servlet.ServletRequest&nbsp;request,
jakarta.servlet.ServletResponse&nbsp;response,
boolean&nbsp;mandatory)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Validate a request</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="setConfiguration(org.eclipse.jetty.security.Authenticator.AuthConfiguration)">
<h3>setConfiguration</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setConfiguration</span><wbr><span class="parameters">(<a href="Authenticator.AuthConfiguration.html" title="interface in org.eclipse.jetty.security">Authenticator.AuthConfiguration</a>&nbsp;configuration)</span></div>
<div class="block">Configure the Authenticator</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>configuration</code> - the configuration</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAuthMethod()">
<h3>getAuthMethod</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getAuthMethod</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The name of the authentication method</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="prepareRequest(jakarta.servlet.ServletRequest)">
<h3>prepareRequest</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">prepareRequest</span><wbr><span class="parameters">(jakarta.servlet.ServletRequest&nbsp;request)</span></div>
<div class="block">Called prior to validateRequest. The authenticator can
manipulate the request to update it with information that
can be inspected prior to validateRequest being called.
The primary purpose of this method is to satisfy the Servlet
Spec 3.1 section 13.6.3 on handling Form authentication
where the http method of the original request causing authentication
is not the same as the http method resulting from the redirect
after authentication.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>request</code> - the request to manipulate</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="validateRequest(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,boolean)">
<h3>validateRequest</h3>
<div class="member-signature"><span class="return-type"><a href="../server/Authentication.html" title="interface in org.eclipse.jetty.server">Authentication</a></span>&nbsp;<span class="element-name">validateRequest</span><wbr><span class="parameters">(jakarta.servlet.ServletRequest&nbsp;request,
jakarta.servlet.ServletResponse&nbsp;response,
boolean&nbsp;mandatory)</span>
throws <span class="exceptions"><a href="ServerAuthException.html" title="class in org.eclipse.jetty.security">ServerAuthException</a></span></div>
<div class="block">Validate a request</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>request</code> - The request</dd>
<dd><code>response</code> - The response</dd>
<dd><code>mandatory</code> - True if authentication is mandatory.</dd>
<dt>Returns:</dt>
<dd>An Authentication. If Authentication is successful, this will be a <a href="../server/Authentication.User.html" title="interface in org.eclipse.jetty.server"><code>Authentication.User</code></a>. If a response has
been sent by the Authenticator (which can be done for both successful and unsuccessful authentications), then the result will
implement <a href="../server/Authentication.ResponseSent.html" title="interface in org.eclipse.jetty.server"><code>Authentication.ResponseSent</code></a>. If Authentication is not mandatory, then a
<a href="../server/Authentication.Deferred.html" title="interface in org.eclipse.jetty.server"><code>Authentication.Deferred</code></a> may be returned.</dd>
<dt>Throws:</dt>
<dd><code><a href="ServerAuthException.html" title="class in org.eclipse.jetty.security">ServerAuthException</a></code> - if unable to validate request</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="secureResponse(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,boolean,org.eclipse.jetty.server.Authentication.User)">
<h3>secureResponse</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">secureResponse</span><wbr><span class="parameters">(jakarta.servlet.ServletRequest&nbsp;request,
jakarta.servlet.ServletResponse&nbsp;response,
boolean&nbsp;mandatory,
<a href="../server/Authentication.User.html" title="interface in org.eclipse.jetty.server">Authentication.User</a>&nbsp;validatedUser)</span>
throws <span class="exceptions"><a href="ServerAuthException.html" title="class in org.eclipse.jetty.security">ServerAuthException</a></span></div>
<div class="block">is response secure</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>request</code> - the request</dd>
<dd><code>response</code> - the response</dd>
<dd><code>mandatory</code> - if security is mandator</dd>
<dd><code>validatedUser</code> - the user that was validated</dd>
<dt>Returns:</dt>
<dd>true if response is secure</dd>
<dt>Throws:</dt>
<dd><code><a href="ServerAuthException.html" title="class in org.eclipse.jetty.security">ServerAuthException</a></code> - if unable to test response</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; 1995&#x2013;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>