blob: 1da03795b98b1ccc2ea29d64a277d3179bcc283b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_212) on Sun Jan 26 10:16:17 PST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AuthenticationProvider (guacamole-ext 1.1.0 API)</title>
<meta name="date" content="2020-01-26">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AuthenticationProvider (guacamole-ext 1.1.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AuthenticationProvider.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/guacamole/net/auth/Connectable.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/guacamole/net/auth/AuthenticationProvider.html" target="_top">Frames</a></li>
<li><a href="AuthenticationProvider.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<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="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.guacamole.net.auth</div>
<h2 title="Interface AuthenticationProvider" class="title">Interface AuthenticationProvider</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a>, <a href="../../../../../org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth.simple">SimpleAuthenticationProvider</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">AuthenticationProvider</span></pre>
<div class="block">Provides means of authorizing users and for accessing and managing data
associated with those users. Access to such data is limited according to the
AuthenticationProvider implementation.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#authenticateUser-org.apache.guacamole.net.auth.Credentials-">authenticateUser</a></span>(<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)</code>
<div class="block">Returns an AuthenticatedUser representing the user authenticated by the
given credentials, if any.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#decorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">decorate</a></span>(<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;context,
<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)</code>
<div class="block">Given a UserContext returned from getUserContext() of a different
AuthenticationProvider, returns a UserContext instance which decorates
(wraps) that UserContext, delegating and overriding implemented
functions as necessary.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#getIdentifier--">getIdentifier</a></span>()</code>
<div class="block">Returns the identifier which uniquely and consistently identifies this
AuthenticationProvider implementation.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#getResource--">getResource</a></span>()</code>
<div class="block">Returns an arbitrary REST resource representing this
AuthenticationProvider.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#getUserContext-org.apache.guacamole.net.auth.AuthenticatedUser-">getUserContext</a></span>(<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser)</code>
<div class="block">Returns the UserContext of the user authenticated by the given
credentials.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#redecorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">redecorate</a></span>(<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;decorated,
<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;context,
<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)</code>
<div class="block">Given a UserContext returned by updateUserContext() of a different
AuthenticationProvider, returns a UserContext instance which decorates
(wraps) that UserContext, delegating and overriding implemented
functions as necessary.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#shutdown--">shutdown</a></span>()</code>
<div class="block">Frees all resources associated with this AuthenticationProvider.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#updateAuthenticatedUser-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">updateAuthenticatedUser</a></span>(<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)</code>
<div class="block">Returns a new or updated AuthenticatedUser for the given credentials
already having produced the given AuthenticatedUser.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/guacamole/net/auth/AuthenticationProvider.html#updateUserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">updateUserContext</a></span>(<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;context,
<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)</code>
<div class="block">Returns a new or updated UserContext for the given AuthenticatedUser
already having the given UserContext.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getIdentifier--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdentifier</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIdentifier()</pre>
<div class="block">Returns the identifier which uniquely and consistently identifies this
AuthenticationProvider implementation. This identifier may not be null
and must be unique across all AuthenticationProviders loaded by the
Guacamole web application.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The unique identifier assigned to this AuthenticationProvider, which
may not be null.</dd>
</dl>
</li>
</ul>
<a name="getResource--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResource</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getResource()
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Returns an arbitrary REST resource representing this
AuthenticationProvider. The REST resource returned must be properly
annotated with JSR-311 annotations, and may serve as the root resource
for any number of subresources. The returned resource is ultimately
exposed at ".../api/ext/IDENTIFIER/", where IDENTIFIER is the identifier
of this AuthenticationProvider.
REST resources returned by this function will be reachable by all users,
regardless of whether they have authenticated. REST resources which
must only be accessible by authenticated users should instead be returned
from UserContext.getResource().</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An arbitrary REST resource, annotated with JSR-311 annotations, or
null if no such resource is defined.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If the REST resource cannot be returned due to an error.</dd>
</dl>
</li>
</ul>
<a name="authenticateUser-org.apache.guacamole.net.auth.Credentials-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>authenticateUser</h4>
<pre><a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticateUser(<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Returns an AuthenticatedUser representing the user authenticated by the
given credentials, if any.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>credentials</code> - The credentials to use for authentication.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An AuthenticatedUser representing the user authenticated by the
given credentials, if any, or null if the credentials are invalid.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If an error occurs while authenticating the user, or if access is
temporarily, permanently, or conditionally denied, such as if the
supplied credentials are insufficient or invalid.</dd>
</dl>
</li>
</ul>
<a name="updateAuthenticatedUser-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAuthenticatedUser</h4>
<pre><a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;updateAuthenticatedUser(<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Returns a new or updated AuthenticatedUser for the given credentials
already having produced the given AuthenticatedUser. Note that because
this function will be called for all future requests after initial
authentication, including tunnel requests, care must be taken to avoid
using functions of HttpServletRequest which invalidate the entire request
body, such as getParameter(). Doing otherwise may cause the
GuacamoleHTTPTunnelServlet to fail.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>credentials</code> - The credentials to use for authentication.</dd>
<dd><code>authenticatedUser</code> - An AuthenticatedUser object representing the user authenticated by
an arbitrary set of credentials. The AuthenticatedUser may come from
this AuthenticationProvider or any other installed
AuthenticationProvider.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An updated AuthenticatedUser representing the user authenticated by
the given credentials, if any, or null if the credentials are
invalid.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If an error occurs while updating the AuthenticatedUser.</dd>
</dl>
</li>
</ul>
<a name="getUserContext-org.apache.guacamole.net.auth.AuthenticatedUser-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserContext</h4>
<pre><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;getUserContext(<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser)
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Returns the UserContext of the user authenticated by the given
credentials.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authenticatedUser</code> - An AuthenticatedUser object representing the user authenticated by
an arbitrary set of credentials. The AuthenticatedUser may come from
this AuthenticationProvider or any other installed
AuthenticationProvider.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A UserContext describing the permissions, connection, connection
groups, etc. accessible or associated with the given authenticated
user, or null if this AuthenticationProvider refuses to provide any
such data.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If an error occurs while creating the UserContext.</dd>
</dl>
</li>
</ul>
<a name="updateUserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateUserContext</h4>
<pre><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;updateUserContext(<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;context,
<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Returns a new or updated UserContext for the given AuthenticatedUser
already having the given UserContext. Note that because this function
will be called for all future requests after initial authentication,
including tunnel requests, care must be taken to avoid using functions
of HttpServletRequest which invalidate the entire request body, such as
getParameter(). Doing otherwise may cause the GuacamoleHTTPTunnelServlet
to fail.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - The existing UserContext belonging to the user in question.</dd>
<dd><code>authenticatedUser</code> - An AuthenticatedUser object representing the user authenticated by
an arbitrary set of credentials. The AuthenticatedUser may come from
this AuthenticationProvider or any other installed
AuthenticationProvider.</dd>
<dd><code>credentials</code> - The credentials which were most recently submitted. These are not
guaranteed to be the same as the credentials associated with the
AuthenticatedUser when they originally authenticated.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An updated UserContext describing the permissions, connection,
connection groups, etc. accessible or associated with the given
authenticated user, or null if this AuthenticationProvider refuses
to provide any such data.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If an error occurs while updating the UserContext.</dd>
</dl>
</li>
</ul>
<a name="decorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decorate</h4>
<pre><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;decorate(<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;context,
<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Given a UserContext returned from getUserContext() of a different
AuthenticationProvider, returns a UserContext instance which decorates
(wraps) that UserContext, delegating and overriding implemented
functions as necessary. Each UserContext created via getUserContext()
will be passed to the decorate() functions of all other
AuthenticationProviders, allowing those AuthenticationProviders to
augment (or perhaps even limit) the functionality or data provided.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - An existing UserContext generated by getUserContext() of a different
AuthenticationProvider.</dd>
<dd><code>authenticatedUser</code> - The AuthenticatedUser object representing the user associated with
the given UserContext.</dd>
<dd><code>credentials</code> - The credentials which were most recently submitted for the given
AuthenticatedUser. These are not guaranteed to be the same as the
credentials associated with the AuthenticatedUser object, which are
the credentials provided when the user originally authenticated.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A decorated (wrapped) UserContext object, or the original,
undecorated UserContext.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If the UserContext cannot be decorated due to an error.</dd>
</dl>
</li>
</ul>
<a name="redecorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>redecorate</h4>
<pre><a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;redecorate(<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;decorated,
<a href="../../../../../org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a>&nbsp;context,
<a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a>&nbsp;authenticatedUser,
<a href="../../../../../org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a>&nbsp;credentials)
throws org.apache.guacamole.GuacamoleException</pre>
<div class="block">Given a UserContext returned by updateUserContext() of a different
AuthenticationProvider, returns a UserContext instance which decorates
(wraps) that UserContext, delegating and overriding implemented
functions as necessary. Each UserContext created via updateUserContext()
will be passed to the decorate() functions of all other
AuthenticationProviders, allowing those AuthenticationProviders to
augment (or perhaps even limit) the functionality or data provided.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>decorated</code> - The UserContext returned when decorate() was invoked on this
AuthenticationProvider for the UserContext which was just updated
via a call to updateUserContext().</dd>
<dd><code>context</code> - An existing UserContext generated by updateUserContext() of a
different AuthenticationProvider.</dd>
<dd><code>authenticatedUser</code> - The AuthenticatedUser object representing the user associated with
the given UserContext.</dd>
<dd><code>credentials</code> - The credentials which were most recently submitted for the given
AuthenticatedUser. These are not guaranteed to be the same as the
credentials associated with the AuthenticatedUser object, which are
the credentials provided when the user originally authenticated.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A decorated (wrapped) UserContext object, or the original,
undecorated UserContext.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.guacamole.GuacamoleException</code> - If the UserContext cannot be decorated due to an error.</dd>
</dl>
</li>
</ul>
<a name="shutdown--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shutdown</h4>
<pre>void&nbsp;shutdown()</pre>
<div class="block">Frees all resources associated with this AuthenticationProvider. This
function will be automatically invoked when the Guacamole server is
shutting down.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AuthenticationProvider.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/guacamole/net/auth/Connectable.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/guacamole/net/auth/AuthenticationProvider.html" target="_top">Frames</a></li>
<li><a href="AuthenticationProvider.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<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="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2020. All rights reserved.</small></p>
</body>
</html>