Я сделал простое клиентское приложение SharePoint для iPhone, которому требуется доступ к некоторым веб-службам SharePoint (в основном /_vti_bin/Lists.asmx). У меня возникли проблемы с выяснением того, как это сделать в более новой среде SharePoint, такой как Office365.
В старой среде BPOS с аутентификацией на основе форм я смог пройти аутентификацию в этих службах, просто реализовав метод didReceiveAuthenticationChallenge
;
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
NSURLCredential *newCredential = [NSURLCredential credentialWithUser:username
password:password
persistence:NSURLCredentialPersistenceForSession];
[[challenge sender] useCredential:newCredential
forAuthenticationChallenge:challenge];
}
Это, очевидно, больше не работает с сайтами SharePoint, имеющими аутентификацию на основе утверждений, поэтому я провел небольшое исследование и обнаружил, что мне нужно FedAuth
файлов cookie, которые должны быть прикреплены к запросу.
http://msdn.microsoft.com/en-us/library/hh147177.aspx
Согласно этой статье, с помощью приложений .NET представляется возможным получить эти файлы cookie HTTPOnly FedAuth
с помощью WININET.dll, но я полагаю, что это недоступно на iPhone?
Затем я увидел приложение SharePlus, представляющее UIWebView
и предлагающее пользователю войти в сначала их учетная запись Office365 на экране браузера (это та же концепция, которая описана в разделе «Включение входа пользователя для удаленной аутентификации» статьи выше).
Итак, я попытался посмотреть, могу ли я каким-то образом получить доступ к этим файлам cookie FedAuth
, войдя в учетную запись Office365 через UIWebView
, но [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]
не позволил мне получить доступ к файлам cookie HTTPOnly.
Есть ли способ добиться проверки подлинности утверждений в приложениях для iPhone без необходимости в назначенной промежуточной службе .NET для обработки проверки подлинности или от пользователя отключить свойство HTTPOnly для этих файлов cookie?
Извините, я очень новичок в SharePoint, поэтому, возможно, я даже не смотрю в правильном направлении, но я был бы признателен за любые советы о том, как заставить аутентификацию утверждений работать в приложениях iPhone. Заранее спасибо!