Ansprüche Authentifizierung für SharePoint auf dem iPhone

8

Ich habe eine einfache SharePoint-Client-App für das iPhone erstellt, die Zugriff auf einige SharePoint-Webdienste erfordert (hauptsächlich /_vti_bin/Lists.asmx). Ich habe Probleme, herauszufinden, wie dies in neueren SharePoint-Umgebungen wie Office365 funktioniert.

Bei alten BPOS-Umgebungen mit formularbasierter Authentifizierung konnte ich mich bei diesen Diensten authentifizieren, indem ich einfach didReceiveAuthenticationChallenge method;

%Vor%

Dies hat offensichtlich nicht mehr mit SharePoint-Websites mit Anspruchsauthentifizierung funktioniert, also habe ich einige Nachforschungen angestellt und herausgefunden, dass ich FedAuth -Cookies benötige, die an die Anfrage angehängt werden.

Ссылка

Nach diesem Artikel, mit .NET Apps, scheint es möglich, diese HTTPOnly FedAuth -Cookies mit WININET.dll abzurufen, aber ich denke, das ist nicht auf dem iPhone verfügbar?

Dann sah ich SharePlus App mit UIWebView und Benutzer zuerst auf dem Browser-Bildschirm in ihr Office365-Konto einzuloggen (dasselbe Konzept wie im Abschnitt "Aktivieren der Benutzeranmeldung für die Remote-Authentifizierung" im obigen Artikel).

Also habe ich versucht zu sehen, ob ich irgendwie Zugang zu diesen FedAuth -Cookies bekommen kann, indem ich mich in Office365-Account über UIWebView anmelde, aber [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] hat mich nicht auf HTTPOnly-Cookies zugreifen lassen.

Gibt es eine Möglichkeit, die Anspruchsauthentifizierung für iPhone-Apps zu erreichen, ohne dass ein benannter .NET-Zwischendienst für die Behandlung von Authentifizierungen erforderlich ist oder der Benutzer die HTTPOnly-Eigenschaft für diese Cookies deaktivieren muss?

Entschuldigung, ich bin sehr neu in SharePoint, sodass ich vielleicht nicht einmal in die richtige Richtung schaue, aber ich würde mich über jeden Rat freuen, wenn die Anspruchsauthentifizierung für iPhone-Apps funktioniert. Vielen Dank im Voraus!

    
user1657506 09.09.2012, 01:59
quelle

1 Antwort

2

Ich habe es selbst herausgefunden. Musste über meine eigene Dummheit und Ungeduld lachen.

Zunächst können Sie mit [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] DO auf HTTPOnly-Cookies zugreifen. Wenn sich der Benutzer jedoch bei Office 365 an der Methode UIWebView anmeldet, wird die Methode (void)webViewDidFinishLoad:(UIWebView *)webView delegate mehrmals aufgerufen, sodass Sie nur warten müssen, bis FedAuth im Cookie-Jar erscheint.

Hier ist meine (void)webViewDidFinishLoad:(UIWebView *)webView Implementierung;

%Vor%

Sobald Sie den Cookie erhalten haben, müssen Sie ihn nur an die Methode NSURLRequest mit (void)setAllHTTPHeaderFields:(NSDictionary *)headerFields anhängen, wenn Sie SharePoint-Webdienste aufrufen.

Hoffe das hilft jemandem.

    
user1657506 21.09.2012 12:04
quelle