blob: 8d319b80f2f12126b7c36151a226b0fa6d19f520 [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_92) on Mon Jul 25 12:22:01 EDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AuthenticationToken (Apache Shiro 1.3.0 API)</title>
<meta name="date" content="2016-07-25">
<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="AuthenticationToken (Apache Shiro 1.3.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":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/AuthenticationToken.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/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/shiro/authc/AuthenticationToken.html" target="_top">Frames</a></li>
<li><a href="AuthenticationToken.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.shiro.authc</div>
<h2 title="Interface AuthenticationToken" class="title">Interface AuthenticationToken</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/shiro/authc/HostAuthenticationToken.html" title="interface in org.apache.shiro.authc">HostAuthenticationToken</a>, <a href="../../../../org/apache/shiro/authc/RememberMeAuthenticationToken.html" title="interface in org.apache.shiro.authc">RememberMeAuthenticationToken</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/shiro/cas/CasToken.html" title="class in org.apache.shiro.cas">CasToken</a>, <a href="../../../../org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dd>
</dl>
<hr>
<br>
<pre>public interface <a href="../../../../src-html/org/apache/shiro/authc/AuthenticationToken.html#line.60">AuthenticationToken</a>
extends <a href="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block"><p>An <tt>AuthenticationToken</tt> is a consolidation of an account's principals and supporting
credentials submitted by a user during an authentication attempt.
<p/>
<p>The token is submitted to an <a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> via the
<a href="../../../../org/apache/shiro/authc/Authenticator.html#authenticate-org.apache.shiro.authc.AuthenticationToken-"><code>authenticate(token)</code></a> method. The
Authenticator then executes the authentication/log-in process.
<p/>
<p>Common implementations of an <tt>AuthenticationToken</tt> would have username/password
pairs, X.509 Certificate, PGP key, or anything else you can think of. The token can be
anything needed by an <a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> to authenticate properly.
<p/>
<p>Because applications represent user data and credentials in different ways, implementations
of this interface are application-specific. You are free to acquire a user's principals and
credentials however you wish (e.g. web form, Swing form, fingerprint identification, etc) and
then submit them to the Shiro framework in the form of an implementation of this
interface.
<p/>
<p>If your application's authentication process is username/password based
(like most), instead of implementing this interface yourself, take a look at the
<a href="../../../../org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc"><code>UsernamePasswordToken</code></a> class, as it is probably sufficient for your needs.
<p/>
<p>RememberMe services are enabled for a token if they implement a sub-interface of this one, called
<a href="../../../../org/apache/shiro/authc/RememberMeAuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>RememberMeAuthenticationToken</code></a>. Implement that interfac if you need
RememberMe services (the <tt>UsernamePasswordToken</tt> already implements this interface).
<p/>
<p>If you are familiar with JAAS, an <tt>AuthenticationToken</tt> replaces the concept of a
<a href="http://java.sun.com/javase/6/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback"><code>Callback</code></a>, and defines meaningful behavior
(<tt>Callback</tt> is just a marker interface, and of little use). We
also think the name <em>AuthenticationToken</em> more accurately reflects its true purpose
in a login framework, whereas <em>Callback</em> is less obvious.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/shiro/authc/RememberMeAuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>RememberMeAuthenticationToken</code></a>,
<a href="../../../../org/apache/shiro/authc/HostAuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>HostAuthenticationToken</code></a>,
<a href="../../../../org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc"><code>UsernamePasswordToken</code></a></dd>
</dl>
</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="http://java.sun.com/javase/6/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/shiro/authc/AuthenticationToken.html#getCredentials--">getCredentials</a></span>()</code>
<div class="block">Returns the credentials submitted by the user during the authentication process that verifies
the submitted <a href="../../../../org/apache/shiro/authc/AuthenticationToken.html#getPrincipal--"><code>account identity</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="http://java.sun.com/javase/6/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/shiro/authc/AuthenticationToken.html#getPrincipal--">getPrincipal</a></span>()</code>
<div class="block">Returns the account identity submitted during the authentication process.</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="getPrincipal--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrincipal</h4>
<pre><a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/authc/AuthenticationToken.html#line.76">getPrincipal</a>()</pre>
<div class="block">Returns the account identity submitted during the authentication process.
<p/>
<p>Most application authentications are username/password based and have this
object represent a username. If this is the case for your application,
take a look at the <a href="../../../../org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc"><code>UsernamePasswordToken</code></a>, as it is probably
sufficient for your use.
<p/>
<p>Ultimately, the object returned is application specific and can represent
any account identity (user id, X.509 certificate, etc).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the account identity submitted during the authentication process.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc"><code>UsernamePasswordToken</code></a></dd>
</dl>
</li>
</ul>
<a name="getCredentials--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCredentials</h4>
<pre><a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/authc/AuthenticationToken.html#line.92">getCredentials</a>()</pre>
<div class="block">Returns the credentials submitted by the user during the authentication process that verifies
the submitted <a href="../../../../org/apache/shiro/authc/AuthenticationToken.html#getPrincipal--"><code>account identity</code></a>.
<p/>
<p>Most application authentications are username/password based and have this object
represent a submitted password. If this is the case for your application,
take a look at the <a href="../../../../org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc"><code>UsernamePasswordToken</code></a>, as it is probably
sufficient for your use.
<p/>
<p>Ultimately, the credentials Object returned is application specific and can represent
any credential mechanism.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the credential submitted by the user during the authentication process.</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="class-use/AuthenticationToken.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/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/shiro/authc/AuthenticationToken.html" target="_top">Frames</a></li>
<li><a href="AuthenticationToken.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; 2004-2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>