mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-10 17:49:38 +02:00
Big change for authentication, which now supports more SASL mechanisms and
callbacks. This should address issues SMACK-210 and SMACK-142, as well as set the stage for SMACK-234. git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@9498 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
85a92b600b
commit
13b8d313ba
14 changed files with 801 additions and 189 deletions
|
@ -20,20 +20,44 @@
|
|||
|
||||
package org.jivesoftware.smack;
|
||||
|
||||
import javax.security.auth.callback.CallbackHandler;
|
||||
|
||||
/**
|
||||
* There are two ways to authenticate a user with a server. Using SASL or Non-SASL
|
||||
* authentication. This interface makes {@link SASLAuthentication} and
|
||||
* {@link NonSASLAuthentication} polyphormic.
|
||||
*
|
||||
* @author Gaston Dombiak
|
||||
* @author Jay Kline
|
||||
*/
|
||||
interface UserAuthentication {
|
||||
|
||||
/**
|
||||
* Authenticates the user with the server. This method will return the full JID provided by
|
||||
* the server. The server may assign a full JID with a username and resource different than
|
||||
* requested by this method.
|
||||
*
|
||||
* Note that using callbacks is the prefered method of authenticating users since it allows
|
||||
* more flexability in the mechanisms used.
|
||||
*
|
||||
* @param username the requested username (authorization ID) for authenticating to the server
|
||||
* @param resource the requested resource.
|
||||
* @param cbh the CallbackHandler used to obtain authentication ID, password, or other
|
||||
* information
|
||||
* @return the full JID provided by the server while binding a resource for the connection.
|
||||
* @throws XMPPException if an error occurs while authenticating.
|
||||
*/
|
||||
String authenticate(String username, String resource, CallbackHandler cbh) throws
|
||||
XMPPException;
|
||||
|
||||
/**
|
||||
* Authenticates the user with the server. This method will return the full JID provided by
|
||||
* the server. The server may assign a full JID with a username and resource different than
|
||||
* the requested by this method.
|
||||
*
|
||||
* It is recommended that @{link #authenticate(String, String, CallbackHandler)} be used instead
|
||||
* since it provides greater flexability in authenticaiton and authorization.
|
||||
*
|
||||
* @param username the username that is authenticating with the server.
|
||||
* @param password the password to send to the server.
|
||||
* @param resource the desired resource.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue