2017-01-07 3 views
0

zurück Ich versuche, die Authenticationendpoint-Anwendung, die mit WSO2 geliefert wird, als den neuen einzigen Login-Einstiegspunkt einer alten Anwendung zu verwenden. Zu Testzwecken habe ich nur eine Seite, die zu thi URLWSO2 Basic Authentication gibt Fehler

https://localhost:9443/authenticationendpoint/login.do?relyingParty=My-Issuer&sp=Test-App&sessionDataKey=14792551&authenticators=BasicAuthenticator:LOCAL

Die Login-Seite wie erwartet erscheint umleitet, aber sobald ich den Benutzer und das Kennwort zeigt diese Meldung gesetzt:

Authentifizierungsfehler! Achtung: Bei der Authentifizierung ist ein Fehler aufgetreten. Bitte versuchen Sie erneut, sich anzumelden.

die Ausgabe in der Konsole auf den Debug-Modus sehen, ist das, was

gezeigt wird ... Viele der gleichen Fehlermeldung, dass Authentication Context null ist [2017.01.06 15: 40: 08.836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - Der Authentifizierungskontext ist null [2017-01-06 15: 40: 08,836] DEBUG {org.wso2.carbon.identity.application. authentication.framework.util.FrameworkUtils} - Der Authentifizierungskontext ist null [2017-01-06 15: 40: 08,836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - Authentifizierungskontext ist null [2017-01-06 15: 40: 08,837] DEBUG {org.wso2 .carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator} - Sitzungsdatenschlüssel: 22451696 [2017-01-06 15: 40: 08,837] ERROR {org.wso2.carbon.identity.application. authentication.framework.handler.request.impl.DefaultRequestCoordinator} - Der Kontext existiert nicht. Vermutlich aufgrund ungültigen Cache

ich etwas falsch mache, vielleicht gibt es nicht genug Parameter gesendet, oder sie sind die falschen, der Benutzer und das Passwort sind korrekt, weil ich mich in den Kohlenstoff selbst damit einloggen kann, und es ist auch ein gültiger Benutzer für das Testen von SP.

Die SP Config beschrieben:

Basisinformationen

Service Provider Name: Test App

Anspruch Konfiguration

Use Local Anspruch Dialect Betreff Anspruch URI http://wso2.org/claims/username

Rolle/Permission Konfiguration Berechtigungen admintest Rollenzuordnung AdminTest-> Admin

Inbound Authentifizierungskonfiguration

  • SAML2 Web-SSO-Konfiguration Emittent: My-Emittent

    Assertion Consumer-URLs: https: //localhost/Test/main.asp Standard Assertion-Consumer-URL: https: //localhost/Test/main.asp NameID-Format: urn: oasis: Name: tc: SAML: 1.1: NameID-Format: emailAddress Zertifikatalias: wso2carbon Antwortsignaturalgorithmus: ...# Rsa-SHA1 Antwort Digest Algorithm: ... # SHA1

Checked Werte Antwortsignatur aktivieren Einzel Abmelden aktivieren Aktivieren Attribut Profil Attribute in der Antwort enthalten immer IdP SSO Initiiert aktivieren IdP aktivieren initiiert SLO

Andere blanko OAuth sind, OpenID, usw. (lassen Sie mich wissen, ob das vielleicht das Problem, so die ausgefüllt werden sollen.

Lokale und Outbound-Authentifizierung Konfiguration

Typ Authentifizierung: Ich habe versucht, mit Standard und Local Authentication = Grund- und Passwort-Reset-Enforcer

Diese Option ist aktiviert:

  • Assert Identität lokales Thema abgebildet Verwendung Bezeichner
  • Verwenden Sie die Mandantendomäne in der lokalen Betreff-ID
  • Verwenden Sie die Benutzerspeicherdomäne in lokal Objektidentifizierer

    Request-Pfad Authentifizierungskonfiguration basic-auth

Inbound Provisioning Konfiguration SCIM Konfiguration PRIMARY Dumb-Modus ist nicht

Der Rest leer gelassen wird aktiviert

Ich habe viele Tage dieses Problem verfolgt aber keine Antworten oder sind für ältere Versionen.

Ich habe mit JDK 7 und 8 (letzte von ihnen) getestet Ich arbeite mit WSO2 IS 5.2.0. Jemand kann mich zu einer Lösung führen, um diese Anwendung als einzigen Einstiegspunkt für meine SPs zu verwenden? Die Idee danach besteht darin, eine SAML2-Antwort an eine Seite auf der SP-Seite zurückzusenden, die die Informationen liest und den Autorisierungsteil steuert.

Vielen Dank im Voraus.

Antwort

1

Sie haben ein SAML-SSO-Szenario konfiguriert. Daher muss Ihr SP den SAML SSO-Endpunkt von WSO2 Identity Server mit einer gültigen SAMLRequest aufrufen. Das ist https://hostname:port/samlsso.

AuthentifizierungEndpoint ist nur eine Zwischenanwendung. SAML SSO-Endpunkt ist derjenige, der den Benutzer nach der ersten Verarbeitung von SAMLRequest an AuthenticationEndpoint umleiten sollte. Sie dürfen es nicht direkt anrufen.

Lesen Sie this, um zu erfahren, wie Sie eine SAML-SSO-Beispielanwendung mit WSO2 IS ausführen. Während Sie das ausführen, können Sie den HTTP-Request/Response-Flow mit einem Tool wie SSOTracer für Firefox überwachen und verstehen, wie die Kommunikation funktioniert.

Wenn Sie ein anderes Authentifizierungsprotokoll verwenden, müssen Sie ähnlich wie beim SAML-SSO-Fluss zuerst den protokollspezifischen Endpunkt aufrufen. Z.B. Wenn Sie OAuth2 oder OpenIDConnect verwenden, sollten Sie den/oauth2-Endpunkt aufrufen. Niemals/Authentifizierungsendpunkt direkt.

+0

Danke drox. Ich folge jedoch den Hinweisen auf der Seite und stoße aufgrund eines POM.XML-Fehlers auf eine Wand, weil es eine andere nicht existierende pom.xml auf der Verzeichnis-Ebene von is-samples benötigt. Muss ich das gesamte WSO2-Projekt klonen? Ich habe versucht, den übergeordneten XML-Eintrag zu entfernen, den relativen Pfadeintrag zu beseitigen und den übergeordneten XML-Eintrag zu entfernen und die groupId und die Version als Projektelementattribut hinzuzufügen, aber das gleiche Problem. Ich bin nicht vertraut mit Maven, aber ich habe versucht mit MVN allein, MVN sauber installieren und MVN bauen und immer das gleiche Problem – George

+0

Sorry, ich hit Enter vor dem Ende. Ich habe versucht, den übergeordneten XML-Eintrag in der pom.xml innerhalb des Samples-Verzeichnisses zu entfernen, aber es sagt, dass groupId fehlt und die Version fehlt, also habe ich den relativen Pfadeintrag in der Beispiel-Pom-Datei in den Elterneintrag und jetzt den Fehler beseitigt sagt, dass es ein nicht auflösbares Eltern-POM gibt. – George

+0

Schließlich habe ich den übergeordneten XML-Eintrag gelöscht und die groupId und Version als Projektelementattribute (xsi: groupId = "org.wso2.is" und probiert auch mit "wso2is-identity-samples" als Artefakt) in die pom-Datei hinein Beispiele Verzeichnis, aber das gleiche Problem mit verpassten GroupId und Version. Ich bin zwar nicht vertraut mit Maven, aber ich habe versucht mit MVN allein, MVN sauber installieren und MVN Build und immer das gleiche Problem für die beschriebenen Szenarien. Ich habe auch einen Pom auf Modullevel in Github durchsucht, aber dort ist keiner (und es wurde heute auf v5.3.0 aktualisiert, aber kein Pom in Modulverzeichnis). – George

Verwandte Themen