Esempio n. 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();
 }
Esempio n. 2
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 username the username of the user being authenticated.
  * @param host the hostname where the user account resides.
  * @param cbh the CallbackHandler to obtain user information.
  * @throws IOException If a network error occures while authenticating.
  * @throws XMPPException If a protocol error occurs or the user is not authenticated.
  */
 public void authenticate(String username, String host, CallbackHandler cbh)
     throws IOException, XMPPException {
   String[] mechanisms = {getName()};
   Map<String, String> props = new HashMap<String, String>();
   sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
   authenticate();
 }
  protected void authenticate() throws IOException, XMPPException {
    String[] mechanisms = {getName()};
    Map<String, String> props = new HashMap<String, String>();
    sc = Sasl.createSaslClient(mechanisms, null, "xmpp", hostname, props, this);

    super.authenticate();
  }
Esempio n. 4
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();
 }
  public void authenticate(String username, String host, String password)
      throws IOException, XMPPException {
    this.authenticationId = username;
    this.password = password;
    this.hostname = host;

    String[] mechanisms = {getName()};
    Map<String, String> props = new HashMap<String, String>();
    sc = Sasl.createSaslClient(mechanisms, null, "xmpp", host, props, this);
    super.authenticate();
  }
Esempio n. 6
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 inflexable. Use {@link
   * #authenticate(String, String, CallbackHandler)} whenever possible.
   *
   * @param username the username of the user being authenticated.
   * @param host the hostname where the user account resides.
   * @param password the password for this account.
   * @throws IOException If a network error occurs while authenticating.
   * @throws XMPPException If a protocol error occurs or the user is not authenticated.
   */
  public void authenticate(String username, String host, String password)
      throws IOException, XMPPException {
    // Since we were not provided with a CallbackHandler, we will use our own with the given
    // information

    // Set the authenticationID as the username, since they must be the same in this case.
    this.authenticationId = username;
    this.password = password;
    this.hostname = host;

    String[] mechanisms = {getName()};
    Map<String, String> props = new HashMap<String, String>();
    sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
    authenticate();
  }