blob: eaace6e2bc40f16c20297ed45fc078cbb17bdd7d [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 -->
<title>AuthInitialize (Apache Geode 1.15.0)</title>
<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="AuthInitialize (Apache Geode 1.15.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":50,"i1":6,"i2":50,"i3":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated 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="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/geode/security/Authenticator.html" title="interface in org.apache.geode.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/security/AuthTokenEnabledComponents.html" title="enum in org.apache.geode.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/security/AuthInitialize.html" target="_top">Frames</a></li>
<li><a href="AuthInitialize.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.geode.security</div>
<h2 title="Interface AuthInitialize" class="title">Interface AuthInitialize</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a>, <a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">AuthInitialize</span>
extends <a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></pre>
<div class="block">Specifies the mechanism to obtain credentials for a client or peer. It is mandatory for clients
and peers when running in secure mode and a <a href="../../../../org/apache/geode/security/SecurityManager.html" title="interface in org.apache.geode.security"><code>SecurityManager</code></a> has been configured on the
server/locator side respectively. Implementations should register name of the static creation
function (that returns an object of the class) as the <i>security-peer-auth-init</i> system
property on peers and as the <i>security-client-auth-init</i> system property on clients.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 5.5</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://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/geode/security/AuthInitialize.html#SECURITY_PASSWORD">SECURITY_PASSWORD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://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/geode/security/AuthInitialize.html#SECURITY_USERNAME">SECURITY_USERNAME</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/security/AuthInitialize.html#getCredentials-java.util.Properties-">getCredentials</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;securityProps)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in Geode 1.3. Never called by the product. Use <a href="../../../../org/apache/geode/security/AuthInitialize.html#getCredentials-java.util.Properties-org.apache.geode.distributed.DistributedMember-boolean-"><code>getCredentials(Properties
securityProps, DistributedMember server, boolean isPeer)</code></a></span></div>
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/security/AuthInitialize.html#getCredentials-java.util.Properties-org.apache.geode.distributed.DistributedMember-boolean-">getCredentials</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;securityProps,
<a href="../../../../org/apache/geode/distributed/DistributedMember.html" title="interface in org.apache.geode.distributed">DistributedMember</a>&nbsp;server,
boolean&nbsp;isPeer)</code>
<div class="block">Initialize with the given set of security properties and return the credentials for the
peer/client as properties.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/security/AuthInitialize.html#init--">init</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in Geode 1.5. Never called by the product. Use <a href="../../../../org/apache/geode/security/AuthInitialize.html#init-org.apache.geode.LogWriter-org.apache.geode.LogWriter-"><code>init(LogWriter systemLogger,
LogWriter securityLogger)</code></a></span></div>
</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/security/AuthInitialize.html#init-org.apache.geode.LogWriter-org.apache.geode.LogWriter-">init</a></span>(<a href="../../../../org/apache/geode/LogWriter.html" title="interface in org.apache.geode">LogWriter</a>&nbsp;systemLogger,
<a href="../../../../org/apache/geode/LogWriter.html" title="interface in org.apache.geode">LogWriter</a>&nbsp;securityLogger)</code>
<div class="block">Initialize the callback for a client/peer.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.CacheCallback">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></h3>
<code><a href="../../../../org/apache/geode/cache/CacheCallback.html#close--">close</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.Declarable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></h3>
<code><a href="../../../../org/apache/geode/cache/Declarable.html#init-java.util.Properties-">init</a>, <a href="../../../../org/apache/geode/cache/Declarable.html#initialize-org.apache.geode.cache.Cache-java.util.Properties-">initialize</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="SECURITY_USERNAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SECURITY_USERNAME</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SECURITY_USERNAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.geode.security.AuthInitialize.SECURITY_USERNAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SECURITY_PASSWORD">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SECURITY_PASSWORD</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SECURITY_PASSWORD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.geode.security.AuthInitialize.SECURITY_PASSWORD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init-org.apache.geode.LogWriter-org.apache.geode.LogWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>default&nbsp;void&nbsp;init(<a href="../../../../org/apache/geode/LogWriter.html" title="interface in org.apache.geode">LogWriter</a>&nbsp;systemLogger,
<a href="../../../../org/apache/geode/LogWriter.html" title="interface in org.apache.geode">LogWriter</a>&nbsp;securityLogger)
throws <a href="../../../../org/apache/geode/security/AuthenticationFailedException.html" title="class in org.apache.geode.security">AuthenticationFailedException</a></pre>
<div class="block">Initialize the callback for a client/peer. This is invoked when a new connection from a
client/peer is created with the host.
For future implementations, do not use these loggers, use log4j logger directly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>systemLogger</code> - <a href="../../../../org/apache/geode/LogWriter.html" title="interface in org.apache.geode"><code>LogWriter</code></a> for system logs</dd>
<dd><code>securityLogger</code> - <a href="../../../../org/apache/geode/LogWriter.html" title="interface in org.apache.geode"><code>LogWriter</code></a> for security logs</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/geode/security/AuthenticationFailedException.html" title="class in org.apache.geode.security">AuthenticationFailedException</a></code> - if some exception occurs during the initialization</dd>
</dl>
</li>
</ul>
<a name="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
default&nbsp;void&nbsp;init()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in Geode 1.5. Never called by the product. Use <a href="../../../../org/apache/geode/security/AuthInitialize.html#init-org.apache.geode.LogWriter-org.apache.geode.LogWriter-"><code>init(LogWriter systemLogger,
LogWriter securityLogger)</code></a></span></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0.</dd>
</dl>
</li>
</ul>
<a name="getCredentials-java.util.Properties-org.apache.geode.distributed.DistributedMember-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCredentials</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;getCredentials(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;securityProps,
<a href="../../../../org/apache/geode/distributed/DistributedMember.html" title="interface in org.apache.geode.distributed">DistributedMember</a>&nbsp;server,
boolean&nbsp;isPeer)
throws <a href="../../../../org/apache/geode/security/AuthenticationFailedException.html" title="class in org.apache.geode.security">AuthenticationFailedException</a></pre>
<div class="block">Initialize with the given set of security properties and return the credentials for the
peer/client as properties.
This method can modify the given set of properties. For example it may invoke external agents
or even interact with the user.
Normally it is expected that implementations will filter out <i>security-*</i> properties that
are needed for credentials and return only those.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>securityProps</code> - the security properties obtained using a call to
<a href="../../../../org/apache/geode/distributed/DistributedSystem.html#getSecurityProperties--"><code>DistributedSystem.getSecurityProperties()</code></a> that will be used for obtaining the
credentials</dd>
<dd><code>server</code> - the <a href="../../../../org/apache/geode/distributed/DistributedMember.html" title="interface in org.apache.geode.distributed"><code>DistributedMember</code></a> object of the server/group-coordinator to which
connection is being attempted</dd>
<dd><code>isPeer</code> - true when this is invoked for peer initialization and false when invoked for
client initialization</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the credentials to be used for the given <code>server</code>
It needs to contain "security-username" and "security-password" if you use
username/password combination as credentials
When using Integrated security, all members, peer/client will use the same credentials.
but we still need to use these params to support the old authenticator</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/geode/security/AuthenticationFailedException.html" title="class in org.apache.geode.security">AuthenticationFailedException</a></code> - in case of failure to obtain the credentials</dd>
</dl>
</li>
</ul>
<a name="getCredentials-java.util.Properties-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCredentials</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;getCredentials(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;securityProps)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in Geode 1.3. Never called by the product. Use <a href="../../../../org/apache/geode/security/AuthInitialize.html#getCredentials-java.util.Properties-org.apache.geode.distributed.DistributedMember-boolean-"><code>getCredentials(Properties
securityProps, DistributedMember server, boolean isPeer)</code></a></span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>securityProps</code> - the security properties obtained using a call to
<a href="../../../../org/apache/geode/distributed/DistributedSystem.html#getSecurityProperties--"><code>DistributedSystem.getSecurityProperties()</code></a> that will be used for obtaining the
credentials</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the credentials to be used. It needs to contain "security-username" and
"security-password"</dd>
</dl>
</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="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/geode/security/Authenticator.html" title="interface in org.apache.geode.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/security/AuthTokenEnabledComponents.html" title="enum in org.apache.geode.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/security/AuthInitialize.html" target="_top">Frames</a></li>
<li><a href="AuthInitialize.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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 ======= -->
</body>
</html>