SAML Für Java-Anwendung unter Tomcat
Ich habe eine Java-Anwendung läuft auf dem tomcat-server. Ich bin die Speicherung der Benutzer-Informationen in der mysql-Tabelle, und für die Authentifizierung mit Java-Rest-Dienst.
Wenn ich jetzt land auf customer.myapp.com ich möchte überprüfen, ob es eine aktive Sitzung im browser für customer.com, wenn also loggen Sie sich ein, um meine app mithilfe dieser Sitzung intern . Wenn keine session dann leiten Sie den Benutzer auf customer.com login portal und nach dem login landen Sie in customer.myapp.com Homepage.
Wie kann ich diese umsetzen mit SAML . Ich habe gegangen durch die Theorie-Teile und habe eine Idee über SP(in diesem Fall customer.myapp.com) und IdP(ich nehme an, es wird die Kunden-login-portal customer.com) . Ich auch runtergeladen die OpenSAML jar. Ich habe keine Ahnung, wie die Konfiguration durchgeführt werden. In meinem Fall habe ich keinen Zugriff auf die IDP.
public class EMSAMLObjectBuilder {
//Get the builder factory
XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory();
//Get the assertion builder based on the assertion element name
@SuppressWarnings("unchecked")
SAMLObjectBuilder<Assertion> builder = (SAMLObjectBuilder<Assertion>) builderFactory.getBuilder(Assertion.DEFAULT_ELEMENT_NAME);
//Create the assertion
Assertion assertion = builder.buildObject();
}
Dies ist das einzige Stück code, den ich finden konnte. Keine Hilfe ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Klang wie ein standard-Anwendungsfall für die SAML-Web-Browser-Profil. Ich würde vorschlagen, Lesen, in es. Es gibt eine Menge von Informationen über das Internet.
Im Grunde der Prozess, wie das geht.
SAML ist ein sehr flexibles Protokoll, so dass die Strömung oben variieren kann. Wie ist die Kommunikation doen ist in der Regel näher spezifiziert in den Metadaten.
Gibt es mehrere Möglichkeiten, wie dies umgesetzt werden könnte, OpenSAML ist eine von Ihnen. Die OpenSAML offizielle website haben ein paar hilfreiche Beispiele.
Schreibe ich eine blog auf OpenSAML mit vielen hilfreichen Beitrag zu dem Thema. Ich habe auch ein Buch geschrieben, Ein Leitfaden für OpenSAML, dass die Einzelheiten Schritt für Schritt die Implementierung der auf SAML-Web-Browser-Profile-service-provider.
Zufälligerweise die Beispielanwendung, die in dem Buch läuft auf einem embedded tomcat.
Mein Gefühl ist, dass Sie sollten nie direkt verwenden Bibliotheken, wie OpenSAML, die sind wirklich low-level und kompliziert zu meistern.
Wenn Sie möchten, sichern Sie Ihre web-Anwendung mit einem SAML-login-Prozess, Sie sollten auf jeden Fall verwenden Sie ein Sicherheits-Bibliothek für das.
Disclaimer: ich bin der Schöpfer von pac4j, so kann ich empfehlen, mit einer der pac4j Implementierungen: http://www.pac4j.org/implementations.html für SAML: http://www.pac4j.org/docs/clients/saml.html