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 basic authentication, the application registers a listener with 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 MessagingClientException;
ODPCredentials odpListener = new ODPCredentials(); ODPClientConnection.setODPHTTPAuthChallengeListener(odpListener);
public class UserRegistration{
public void startUserRegistration() {
ODPUserManager.initialize(appID);
ODPUserManager.setConnectionProfile(serverIP, serverPort, farmID);
ODPUserManager.enableHTTPS(true);
ODPCredentials odpListener = new ODPCredentials();
ODPClientConnection.setODPHTTPAuthChallengeListener(odpListener);
ODPUserManager.registerUser(username, securityConfig, password);
}
final static class ODPCredentials implements IODPHTTPAuthChallengeListener
{
// callback method for HTTP authentication 401 challenge
@Override
public ODPHTTPAuthChallengeCredentials getCredentials(String sHostName, String sOldUserName, String sRealm)
{
// TODO Auto-generated method stub
Log.i("Get Credentials for host"+sHostName);
ODPHTTPAuthChallengeCredentials odpCredentials = new ODPHTTPAuthChallengeCredentials(userName,pwd);
return odpCredentials;
}
}
}