예제 #1
0
 /**
  * Builds and sends the <tt>auth</tt> stanza to the server. The callback handler will handle any
  * additional information, such as the authentication ID or realm, if it is needed.
  *
  * @param host the hostname where the user account resides.
  * @param serviceName the xmpp service location
  * @param cbh the CallbackHandler to obtain user information.
  * @throws SmackException
  * @throws NotConnectedException
  */
 public void authenticate(String host, String serviceName, CallbackHandler cbh)
     throws SmackException, NotConnectedException {
   this.host = host;
   this.serviceName = serviceName;
   authenticateInternal(cbh);
   authenticate();
 }
예제 #2
0
 /**
  * Builds and sends the <tt>auth</tt> stanza to the server. Note that this method of
  * authentication is not recommended, since it is very inflexible. Use {@link
  * #authenticate(String, String, CallbackHandler)} whenever possible.
  *
  * <p>Explanation of auth stanza:
  *
  * <p>The client authentication stanza needs to include the digest-uri of the form:
  * xmpp/serviceName From RFC-2831: digest-uri = "digest-uri" "=" digest-uri-value digest-uri-value
  * = serv-type "/" host [ "/" serv-name ]
  *
  * <p>digest-uri: Indicates the principal name of the service with which the client wishes to
  * connect, formed from the serv-type, host, and serv-name. For example, the FTP service on
  * "ftp.example.com" would have a "digest-uri" value of "ftp/ftp.example.com"; the SMTP server
  * from the example above would have a "digest-uri" value of "smtp/mail3.example.com/example.com".
  *
  * <p>host: The DNS host name or IP address for the service requested. The DNS host name must be
  * the fully-qualified canonical name of the host. The DNS host name is the preferred form; see
  * notes on server processing of the digest-uri.
  *
  * <p>serv-name: Indicates the name of the service if it is replicated. The service is considered
  * to be replicated if the client's service-location process involves resolution using standard
  * DNS lookup operations, and if these operations involve DNS records (such as SRV, or MX) which
  * resolve one DNS name into a set of other DNS names. In this case, the initial name used by the
  * client is the "serv-name", and the final name is the "host" component. For example, the
  * incoming mail service for "example.com" may be replicated through the use of MX records stored
  * in the DNS, one of which points at an SMTP server called "mail3.example.com"; it's "serv-name"
  * would be "example.com", it's "host" would be "mail3.example.com". If the service is not
  * replicated, or the serv-name is identical to the host, then the serv-name component MUST be
  * omitted
  *
  * <p>digest-uri verification is needed for ejabberd 2.0.3 and higher
  *
  * @param username the username of the user being authenticated.
  * @param host the hostname where the user account resides.
  * @param serviceName the xmpp service location - used by the SASL client in digest-uri creation
  *     serviceName format is: host [ "/" serv-name ] as per RFC-2831
  * @param password the password for this account.
  * @throws SmackException If a network error occurs while authenticating.
  * @throws NotConnectedException
  */
 public final void authenticate(String username, String host, String serviceName, String password)
     throws SmackException, NotConnectedException {
   this.authenticationId = username;
   this.host = host;
   this.serviceName = serviceName;
   this.password = password;
   authenticateInternal();
   authenticate();
 }