When a client attempts to connect to a host (like a relay server), this connection is authenticated with a basic authentication challenge.To setup a HTTP basic authentication, the application registers a listener with the OData SDK. If the IODPHTTPAuthChallengeListener is not registered, an HTTP_AUTH_FAILURE error is returned when a challenge is received.
public static void setODPHTTPAuthChallengeListener(ODPClientListeners.IODPHTTPAuthChallengeListener listener) throws com.sybase.mo.MessagingClientException;
UserManager.enableHTTPS(true); UserManager.setODPHTTPAuthChallengeListener(this);
public class UserRegistration implements ODPClientListeners.IODPHTTPAuthChallengeListener
{
.
.
public void startUserRegistration(){
UserManager.initialize(appID);
UserManager.setConnectionProfile(serverIP,serverPort,farmID);
UserManager.enableHTTPS(true);
UserManager.setODPHTTPAuthChallengeListener(this);
UserManager.registerUser(username,securityConfig,password);
}
// callback method for HTTP authentication 401 challenge
public ODPHTTPAuthChallengeCredentials getCredentials(String sHostName,String oldUserName, String realm) {
// query the user for credentials, username and password for sHostName
.
.
.
// return the credentials in ODPHTTPAuthChallengeCredentials structure.
.
return new ODPHTTPAuthChallengeCredentials(username,password);
}