Zrobiłem prostą aplikację klienta SharePoint dla iPhone'a, która wymaga dostępu do niektórych usług sieciowych SharePoint (głównie /_vti_bin/Lists.asmx). Mam problem z ustaleniem, jak to zrobić w nowszym środowisku SharePoint, takim jak Office365.Uwierzytelnianie Uwierzytelnianie na SharePoint na iPhonie
W starym środowisku BPOS z uwierzytelnianiem opartym na formularzach udało mi się uwierzytelnić te usługi, po prostu wdrażając metodę didReceiveAuthenticationChallenge
;
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
NSURLCredential *newCredential = [NSURLCredential credentialWithUser:username
password:password
persistence:NSURLCredentialPersistenceForSession];
[[challenge sender] useCredential:newCredential
forAuthenticationChallenge:challenge];
}
To oczywiście nie działa dłużej z witryn SharePoint konieczności uwierzytelniania zastrzeżeń, więc zrobiłem kilka badań i okazało się, że muszę FedAuth
cookies, aby być dołączone do wniosku.
http://msdn.microsoft.com/en-us/library/hh147177.aspx
Zgodnie z tym artykułem, w .NET Apps, wydaje się możliwe, aby odzyskać te HttpOnly FedAuth
ciasteczka korzystając WININET.DLL, ale myślę, że nie jest dostępna na iPhone?
Następnie zobaczyłem SharePlus aplikację prezentującą UIWebView
i umożliwiającą użytkownikowi zalogowanie się na swoje konto Office365 na ekranie przeglądarki (co jest tym samym pojęciem, co wyjaśniono w sekcji "Włączanie logowania użytkownika do zdalnego uwierzytelniania" w powyższym artykule).
Więc starałem się sprawdzić, czy mogę jakoś uzyskać dostęp do tych FedAuth
ciasteczek logując się na koncie za pośrednictwem UIWebView
Office 365, ale [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]
nie pozwolił mi dostęp HttpOnly plików cookie.
Czy istnieje sposób na uzyskanie uwierzytelnienia roszczeń w aplikacjach na iPhone'a bez potrzeby korzystania z pośredniej usługi .NET do obsługi uwierzytelniania lub wymagającej od użytkownika wyłączenia właściwości HTTPOnly na tych plikach cookie?
Przepraszam, jestem bardzo nowy w SharePoint, więc może nawet nie patrzę w dobrym kierunku, ale byłbym wdzięczny za wszelkie porady dotyczące uwierzytelniania roszczeń do pracy w aplikacjach na iPhone'a. Z góry dziękuję!
Awesome! @ user1657506, czy można uzyskać token FedAuth bez uruchamiania interfejsu UIWebView? Utwórz UIView z 2 polami tekstowymi (nazwa użytkownika/hasło) i wyślij żądanie HTTP do Dostawcy Tożsamości (Google, Office 365 itp.), Aby token był pod maską? – surlac
Przepraszamy za spóźnioną odpowiedź x (Przeskakiwanie do wniosku, jest to MOŻLIWE, ale BARDZO TRUDNE Ta strona może dać ci pomysł; [Wictor Wilen - SharePoint MCA, MCM i MVP] (http://www.wictorwilen.se/Post /How-to-do-active- authenthentication-to-Office-365-and-SharePoint-Online.aspx).Krótko mówiąc, musisz zadzwonić do STS i samemu zdobyć ciasteczka. Próbowałem tego sam, ale zrezygnowałem, więc nie mogę podać wiele szczegółów ... Wydaje się, że są zasoby dla .NET, który sprawia, że proces ten jest nieco łatwiejszy, więc tworzenie własnego webservice z .NET do obsługi uwierzytelniania, itp., może być opcją. – user1657506