Jive Messenger 2.2.2 Javadoc

org.jivesoftware.messenger.auth
Class NativeAuthProvider

java.lang.Object
  extended by org.jivesoftware.messenger.auth.NativeAuthProvider
All Implemented Interfaces:
AuthProvider

public class NativeAuthProvider
extends Object
implements AuthProvider

Authenticates using the native operating system authentication method. On Windows, this means Win32 authentication; on Unix/Linux, PAM authentication. New user accounts will be created automatically as needed.

Authentication is handled using the Shaj library. In order for this provider to work, the appropriate native library must be loaded. The appropriate native library must be manually moved from the resources/nativeAuth directory to the lib directory.

To enable this provider, set the following in the XML configuration file:

 <provider>
     <auth>
         <className>org.jivesoftware.messenger.auth.NativeAuthProvider</className>
     </auth>
     <user>
         <className>org.jivesoftware.messenger.user.NativeUserProvider</className>
     </user>
 </provider>
 
The properties to configure the provider are as follows: For more information about configuring the domain value and other aspects of Shaj, please see: http://opensource.cenqua.com/shaj/doc.html.

Author:
Matt Tucker

Constructor Summary
NativeAuthProvider()
           
 
Method Summary
 void authenticate(String username, String password)
          Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.
 void authenticate(String username, String token, String digest)
          Returns if the username, token, and digest are valid; otherwise this method throws an UnauthorizedException.
 boolean isDigestSupported()
          Returns true if this AuthProvider supports digest authentication according to JEP-0078.
 boolean isPlainSupported()
          Returns true if this AuthProvider supports authentication using plain-text passwords according to JEP--0078.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NativeAuthProvider

public NativeAuthProvider()
Method Detail

authenticate

public void authenticate(String username,
                         String password)
                  throws UnauthorizedException
Description copied from interface: AuthProvider
Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.

If AuthProvider.isPlainSupported() returns false, this method should throw an UnsupportedOperationException.

Specified by:
authenticate in interface AuthProvider
Parameters:
username - the username.
password - the passwordl
Throws:
UnauthorizedException - if the username and password do not match any existing user.

authenticate

public void authenticate(String username,
                         String token,
                         String digest)
                  throws UnauthorizedException
Description copied from interface: AuthProvider
Returns if the username, token, and digest are valid; otherwise this method throws an UnauthorizedException.

If AuthProvider.isDigestSupported() returns false, this method should throw an UnsupportedOperationException.

Specified by:
authenticate in interface AuthProvider
Parameters:
username - the username.
token - the token that was used with plain-text password to generate the digest.
digest - the digest generated from plain-text password and unique token.
Throws:
UnauthorizedException - if the username and password do not match any existing user.

isPlainSupported

public boolean isPlainSupported()
Description copied from interface: AuthProvider
Returns true if this AuthProvider supports authentication using plain-text passwords according to JEP--0078. Plain text authentication is not secure and should generally only be used for a TLS/SSL connection.

Specified by:
isPlainSupported in interface AuthProvider
Returns:
true if plain text password authentication is supported by this AuthProvider.

isDigestSupported

public boolean isDigestSupported()
Description copied from interface: AuthProvider
Returns true if this AuthProvider supports digest authentication according to JEP-0078.

Specified by:
isDigestSupported in interface AuthProvider
Returns:
true if digest authentication is supported by this AuthProvider.

Jive Messenger 2.2.2 Javadoc

Copyright © 1999-2004 Jive Software.