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 ODPHTTPAuthChallengeListenerDelegate is not registered, an HTTP response code 401 is returned when a challenge is received.
To register a listener for certificate verification, implement the protocol ODPHTTPAuthChallengeListenerDelegate
@protocol ODPHTTPAuthChallengeListenerDelegate <NSObject> @required -(void) onHTTPAuthChallenge:(NSString*)host forUser:(NSString*)userName withRealm:(NSString*)realm; @end
[ODPClientListeners setHTTPAuthChallengeListenerDelegate:self]; [ODPUserManager enableHTTPS:NO]; [userManager registerUser:@"usermanager" securityConfig:@"HttpAuth" password:@"password" error:&error isSyncFlag:true]; -(void) onHTTPAuthChallenge:(NSString*)host forUser:(NSString*)userName withRealm:(NSString*)realm { [ODPClientListeners httpAuthChallengeResult:YES forUser:@"Mobile" withPassword:@"Ntwatch@123"]; NSLog(@"%@--%@--%@", host, userName, realm); @try { NSString *host = @"relaymp.sap-ag.de"; NSInteger port = 443; NSString *companyid = @"SSLOverIMOHTTPS"; NSError *error; ODPUserManager* userManager = [ODPUserManager getInstance:@"com.sap.NewFlight"]; [userManager setConnectionProfileWithHost:host port:port farm:companyid error:nil]; [ODPClientListeners setHTTPAuthChallengeListenerDelegate:self]; [ODPUserManager enableHTTPS:YES]; [userManager registerUser:@"smpuser2" securityConfig:@"HttpAuth" password:@"s3puser" error:&error isSyncFlag:true]; } }