Утреннее Все,NSURLConnection, NSURLRequest, ненадежный сертификат и аутентификация пользователя
Я пытаюсь написать приложение, которое делает некоторые GETs из веб-службы удаленной, который требует проверки подлинности. Моя основная проблема заключается в том, что большинство этих удаленных серверов (и их много) не имеют действительных сертификатов. У меня есть code to accept the invalid certificate и код для ответа на вызов с правильной ошибкой & pass (ниже). Проблема, с которой я сталкиваюсь, - заставить обоих играть вместе. Кажется, я не могу найти способ отправить вызов NSURLCredential
s или способ правильно привязать обратные вызовы. Когда я пытаюсь связать их, я не могу получить свой NSURLRequest
для вызова didReceiveAuthenticationChallenge
дважды.
Любые мысли будут оценены!
код для проверки подлинности ...
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if(!hasCanceled){
if ([challenge previousFailureCount] == 0) {
NSURLCredential *newCredential;
newCredential=[NSURLCredential credentialWithUser:_username password:_password persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
}
else {
[[challenge sender] cancelAuthenticationChallenge:challenge];
NSLog(@"Bad Username Or Password");
badUsernameAndPassword = YES;
finished = YES;
}
}
}
Работали как очарование. Необходимо правильно реализовать метод canAuthenticateAgainstProtectionSpace, чтобы мое приложение вызывало этот метод. Но после этого все хорошо. Благодаря! – Staros