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 ODPException;
ODPUserManager.enableHTTPS(true); ODPUserManager.setODPHTTPAuthChallengeListener(this);
public class UserRegistration implements IODPHTTPAuthChallengeListener
{
.
.
public void startUserRegistration(){
ODPUserManager.initialize(appID);
ODPUserManager.setConnectionProfile(serverIP,serverPort,farmID);
ODPUserManager.enableHTTPS(true);
ODPUserManager.setODPHTTPAuthChallengeListener(this);
ODPUserManager.registerUser(username,activationCode,false);
}
// 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);
}