Hat jemand eine iPhone-Anwendung mit einem Shibboleth-Identity-Provider integriert? Googling hat nichts gefunden, also frage ich die Gurus direkt.
Wenn es vorher nicht getan wurde, ist es machbar?
Die Antwort auf beide ist "Ja".
Ich bin ein Java-Typ und werde vor zwei Wochen gefragt:
... War ein wenig entmutigend. Zusammen mit der Abwesenheit von Forenbeiträgen, um zu helfen, hat mich veranlasst, meine Erfahrungen zu teilen.
Hier ist eine Übersicht, gefolgt von einem hoffentlich sehr hilfreichen Beispielcode. Bitte stimme für meine Antwort, wenn das hilft! Es lohnt sich ein paar Wochen meiner Zeit:)
Damit eine Anwendung auf dem iPhone Shibbolisierte Ressourcen herunterladen kann, muss Folgendes geschehen:
Hier sind einige nützliche Hinweise von Apple und Shibboleth:
Und hoffentlich kann ich die ganze Quelle für eine kurze Demonstration einschließen.
%Vor%Ich habe genau das geschafft, aber ich brauchte einige Zeit, um jeden Schritt des Prozesses zu verstehen und ihn perfekt zu reproduzieren. Wenn ich Zeit habe, könnte ich ein ausführliches Tutorial schreiben, weil ich bei vielen Problemen keine Hilfe gefunden habe. Die Sache ist, es hängt auch von der Website ab, zu der du dich verbinden willst, also folgt dir vielleicht nicht der gleiche Pfad wie meiner (sein Prozess ist der selbe wie der, der beschrieben wurde): http: //shib.kuleuven. be / dataflow / dataflow-cas3-shib13-post.shtml "> hier ).
Um alle Anfragen zu sehen, die von meinem Browser (Chrome) zum Herstellen einer Verbindung ausgelöst wurden, habe ich das Netzwerk-Bedienfeld für Entwicklertools verwendet, wobei "Protokoll beibehalten" aktiviert ist.
Ein paar Tipps:
1 °) Sie müssen "_idp_authn_lc_key ..." Cookie erhalten. Es gibt eine Anfrage, die es für Sie festlegen, finden Sie es.
2 °) Sie benötigen das Login-Ticket (LT -...). Sie finden es wahrscheinlich im Hauptteil der Seite, auf der Sie Ihre Anmeldeinformationen eingeben.
3 °) Sie benötigen ein Serviceticket (ST -...). Wieder finden Sie es auf der Seite, die die vorherige Anfrage zurückgegeben hat.
4 °) Sie benötigen SAMLResponse. Wieder finden Sie es auf der Seite, die die vorherige Anfrage zurückgegeben hat.
5 °) Schließlich können Sie sich anmelden, indem Sie SAMLResponse an den Service Provider zurücksenden. Du solltest hier auf die Verschlüsselung achten. Ich hatte ein paar "+" oder "=", die ich in "% 2B" und "% 3D" ändern musste. Sie erhalten einen "_idp_session" -Cookie, mit dem Sie sich ohne all diese Unordnung wieder verbinden können.
Wenn jemand versucht, das Gleiche zu tun, würde ich gerne helfen! Schick mir einfach eine Nachricht.
Ich habe die Lösung von EC erfolgreich als Ausgangspunkt verwendet. Die einzige andere Sache, die ich hinzufügen würde, ist, dass Sie wirklich darauf achten müssen, dass nur eine Anfrage gleichzeitig abläuft. In unserer Implementierung würde der Authentifizierungsprozess zwischen mehreren asynchronen Anforderungen, die gleichzeitig ausgeführt werden, durcheinander geraten. Die Verwendung von NSOperation zum Drosseln der Warteschlange schien mir gut zu funktionieren.
Tags und Links iphone shibboleth