2014-02-06 2 views
7

Ich weiß, dass CAS ein Single-Sign-On-Protokoll für das Web ist. Sein Zweck ist es, einem Benutzer den Zugriff auf mehrere Anwendungen zu ermöglichen und gleichzeitig seine Anmeldeinformationen (wie Benutzer-ID und Kennwort) nur einmal anzugeben. Außerdem können Webanwendungen Benutzer authentifizieren, ohne auf die Sicherheitsanmeldeinformationen eines Benutzers zugreifen zu müssen, z. B. ein Kennwort.Kann ich den Jasig CAS-Server für mobile Android-Anwendungen verwenden?

Also, wie kann ich Jasig CAS Server für Android mobile Anwendungen verwenden? Einige Richtlinien wären sehr nützlich!

Antwort

9

Eigentlich gibt es zwei Möglichkeiten, dies zu tun, jeder von ihnen hat einige Nachteile. Expose

1), um die REST-Schnittstelle (here you'll find a simple JAVA client that consumes them und ein iOS sample wie es zu benutzen auf einem beweglichen)

Das Problem hier ist, dass, wenn jemand lädt Ihre Anwendung aus dem Speicher und überprüft den Netzwerkverkehr in ihm (oder einfach zerlegt es) er wird die Anrufe finden, die Sie machen. Damit könnte er eine APP schaffen, die das gleiche tut wie Sie, und melden Sie sich die Passwörter von den Benutzern selbst eingegeben (wie ein man-in-the-middle attack)

2) Öffnen Sie die echte Website in einer Web-Ansicht in Ihrem APP

Sie Ich werde eine Modle-Login-Seite oder eine Responsive auf Ihrem CAS-Server erstellen müssen, damit es nett aussieht. Natürlich könnte auch hier jemand theoretisch Ihre APP und die Webseite auf Ihre CAS-Fälschung kopieren, um so aussehen zu können, als ob Ihre APP den Benutzernamen und das Passwort aufnimmt und im Hintergrund an Ihren CAS sendet, um dem Benutzer den Eindruck zu vermitteln, dass alles gut gelaufen ist komplexer. Aber auch hier müssen Sie den CAS optimieren; CAS ist so konzipiert, dass es eine Anmeldung für einen Dienst akzeptiert, zu dem es nach erfolgreicher Anmeldung weiterleiten würde. Daher müssen Sie in diesem Fall der CAS-Konfiguration einen gefälschten Dienst hinzufügen und prüfen, ob der Webview darauf verweist. Wenn das passiert, wirst du das TGT im CASTGC Cookie finden.

In unseren ersten APPs haben wir die REST-Version verwendet, aber da wir unser CAS auch für Websites verwenden, wollten wir den REST-Zugriff nur auf andere Server in der Einrichtung beschränken, so dass wir die zweite Lösung gefunden haben passt besser, aber insgesamt scheint CAS nicht für mobile APPs vorbereitet zu sein

+0

Danke! Das hat mir sehr geholfen, aber ich habe eine Frage. Ich habe die Ruhe api und die oauth in meinem Cas-Server konfiguriert. Also, wenn ich den Rest api mit dem oauth-Mechanismus kombinieren möchte, sollte ich einen Rest-Service erstellen, der den oauth-Mechanismus verwendet? Ich bin verwirrt .. – fnkbz

+0

Es würde funktionieren, aber bedenken Sie, dass mit REST ausgesetzt wäre, wäre es einfach, einen Brute-Force-Angriff zu tun. –

+0

Sie haben Recht ... eigentlich ist dieses System nicht wirklich dazu gedacht, von APPs benutzt zu werden. Alles, was du tust, hackt einfach hinein. – Hons

Verwandte Themen