# UserAuth (sshj 0.4.0 API)
Date: 2011-06-06

## net.schmizz.sshj.userauth
Interface UserAuth

All Known Implementing Classes:
  UserAuthImpl

    public interface UserAuth

User authentication API. See RFC 4252.

Method Summary
`void` `authenticate(String username, Service nextService, Iterable<AuthMethod> methods)` Attempt to authenticate `username` using each of `methods` in order.
`String` `getBanner()` Returns the authentication banner (if any).
`Deque<UserAuthException>` `getSavedExceptions()`
`int` `getTimeout()`
`boolean` `hadPartialSuccess()`
`void` `setTimeout(int timeout)` Set the `timeout` for any method to successfully authenticate before it is abandoned.

Method Detail

### authenticate

    void authenticate(String username,
                      Service nextService,
                      Iterable<AuthMethod> methods)
                      throws UserAuthException,
                             TransportException

  Attempt to authenticate `username` using each of `methods` in order. `nextService` is the `Service` that will be enabled on successful authentication.

  Authentication fails if there are no method available, i.e. if all the method failed or there were method available but could not be attempted because the server did not allow them. In this case, a `UserAuthException` is thrown with its cause as the last authentication failure. Other `UserAuthException`'s which may have been ignored may be accessed via `getSavedExceptions()`.

  Further attempts may also be made by catching `UserAuthException` and retrying with this method.

  Parameters:
    `username` - the user to authenticate
    `nextService` - the service to set on successful authentication
    `methods` - the `AuthMethod`'s to try
  Throws:
    `UserAuthException` - in case of authentication failure
    `TransportException` - if there was a transport-layer error

### getBanner

    String getBanner()

  Returns the authentication banner (if any). In some cases this is available even before the first authentication request has been made.

  Returns:
    the banner, or `null` if none was received

### getSavedExceptions

    Deque<UserAuthException> getSavedExceptions()

  Returns:
    saved exceptions that might have been ignored because there were more authentication method available.

### getTimeout

    int getTimeout()

  Returns:
    the `timeout` for a method to successfully authenticate before it is abandoned.

### hadPartialSuccess

    boolean hadPartialSuccess()

  Returns:
    whether authentication was partially successful. Some server's may be configured to require multiple authentications; and this value will be `true` if at least one of the method supplied succeeded.

### setTimeout

    void setTimeout(int timeout)

  Set the `timeout` for any method to successfully authenticate before it is abandoned.

  Parameters:
    `timeout` - the timeout in seconds

Copyright © 2009-2011. All Rights Reserved.