2016-10-12 2 views
0

Ich arbeite an der Verwendung von SAML2.0 und integrieren mit Okta. Ich habe versucht, ein Spring-Sicherheitsexemplar zu verwenden, das auf dem Okta-Gelände gegeben wurde und es funktioniert gut. Jetzt versuche ich, meine Webanwendung zu okat hinzuzufügen, und wenn ich meine Webanwendung im Okta Dashboard initiiere oder klicke, möchte ich sehen, welche SAML Assertion an Dienstanbieter gesendet wird. Ich möchte den Vornamen des Nutzers lesen, den Nachnamen auf der Seite "index.jsp" in meiner Web-App.So lesen Sie Okta SAML Assertion Response beim Empfangen von Web-Anwendung (Dienstanbieter)

Ich sehe auf meinem Tomcat Logs folgende Antwort gedruckt.

INFO org.opensaml.common.binding.security.SAMLProtocolMessageXMLSignatureSecurityPolicyRule - Validierung der Protokollnachricht Signatur erfolgreich war, Nachrichtentyp: {urn: Oase: Namen: tc: SAML: 2,0: Protokoll} Antwort

Aber als ich versuche, das SecurityContextHolder.getContext(). getAuthentication() - Objekt in index.jsp zu bekommen, bekomme ich null.

Der Benutzer wird in Okta erstellt und der Anwendung zugewiesen. Aber dieser Benutzer existiert nicht in meiner Webanwendungsdatenbank. Alles, was ich sehen möchte, ist, dass der Benutzer, der in Okta erstellt wurde, an meine Web-App gesendet wird. Ich möchte nur das Metadat wie Vorname, Nachname etc. lesen. Ist das möglich? Hat jemand es versucht?

Meine Webanwendung verwendet bereits CasAuthentication.

+0

Forgot zu erwähnen, dass wenn ich mich mit vorhandenen Benutzer anmelden und versuchen Sie Zugriff auf index.jsp, dann ich SecurityContextHolder.getContext(). GetAuthentication() Objekt erstellt, aber es zeigt, ist es authentifiziert mit CasAuthentication whcih ist offensichtlich. Aber ich bin mir nicht sicher, wie ich die Benutzerdaten von Okta lesen kann, bevor ich mich in der SP Web App anmelde. – trextrex

Antwort

0

Ich fand die Antwort auf meine eigene Frage. Posting hier für die Peers, die vor ähnlichen Problemen stehen.

Grundsätzlich, wenn Sie mehr als 1 Authentifizierungs-Manager verwenden, stellen Sie sicher, dass Ihre Alias-Namen unterschiedlich sind und Sie beziehen sich auf korrekte Alias-Namen in den Saml-Beans in "ref" -Abschnitt. Meine hat gut funktioniert, nachdem ich es korrigiert habe.

Verwandte Themen