public interface Authenticator
onAuthenticationResponse()will be called, respectively, by the implementation.
For more information on how the authentication procedure works in OBEX, please review the IrOBEX specification at http://www.irda.org.
When a client or server receives an authentication challenge header, the
onAuthenticationChallenge() method will be invoked by the OBEX
API implementation. The application will then return the user name (if
needed) and password via a
PasswordAuthentication object. The
password in this object is not sent in the authentication response. Instead,
the 16-byte challenge received in the authentication challenge is combined
with the password returned from the
method and passed through the MD5 hash algorithm. The resulting value is sent
in the authentication response along with the user name if it was provided.
When a client or server receives an authentication response header, the
onAuthenticationResponse() method is invoked by the API
implementation with the user name received in the authentication response
header. (The user name will be
null if no user name was provided
in the authentication response header.) The application must determine the
correct password. This value should be returned from the
onAuthenticationResponse() method. If the authentication request
should fail without the implementation checking the password,
null should be returned by the application. (This is needed for
reasons like not recognizing the user name, etc.) If the returned value is
null, the OBEX API implementation will combine the password
returned from the
onAuthenticationResponse() method and
challenge sent via the authentication challenge, apply the MD5 hash
algorithm, and compare the result to the response hash received in the
authentication response header. If the values are not equal, an
IOException will be thrown if the client requested
authentication. If the server requested authentication, the
onAuthenticationFailure() method will be called on the
ServerRequestHandler that failed authentication. The connection
is not closed if authentication failed.
|Modifier and Type||Method and Description|
Called when a client or a server receives an authentication challenge header.
Called when a client or server receives an authentication response header.
PasswordAuthentication onAuthenticationChallenge(String description, boolean isUserIdRequired, boolean isFullAccess)
PasswordAuthenticationthat contains the correct user name and password for the challenge.
description- the description of which user name and password should be used; if no description is provided in the authentication challenge or the description is encoded in an encoding scheme that is not supported, an empty string will be provided
trueif the user ID is required;
falseif the user ID is not required
trueif full access to the server will be granted;
falseif read only access will be granted
PasswordAuthenticationobject containing the user name and password used for authentication
byte onAuthenticationResponse(byte userName)
userName- the user name provided in the authentication response; may be
nullis returned then the authentication request failed