2017-07-27 4 views
0

Ich versuche herauszufinden, wie ich meine Anwendungen für SSO mit WSO2 Identity Server einrichten kann. Mein Anwendungsfall ist, dass ich 2 Anwendungen durch OAuth/OpenId Connect mit WSO2IS gesichert habe. Wenn ich bei Anwendung 1 angemeldet bin, sollte mich das Starten von Anwendung 2 automatisch anmelden. Was sollte der Fluss sein?WSO2IS OAuth/OpenId Connect-SSO-Setup

Derzeit habe ich 2 Service Provider erstellt, einen für jede Anwendung. Jede Konfiguration der eingehenden Authentifizierung des Dienstanbieters wird mithilfe von OAuth/OpenId Connect konfiguriert. Was muss ich noch tun?

Ich habe https://docs.wso2.com/display/IS530/Configuring+OAuth2-OpenID+Connect+Single-Sign-On gefolgt. Ich bin erfolgreich auf IS für die Anmeldung umgeleitet und jede Anwendung ist in der Lage, Zugriffstoken und JWT zu erhalten. Ich werde jedoch gebeten, mich für jede Anwendung separat anzumelden --- keine automatische Anmeldung, wenn ich auf Anwendung 2 zugreife.

Vielen Dank!

WSO2IS Ausgabe, wenn ich mich bei Anwendung 1 anmelde, dann nach Anwendung 2, im selben Browser und Tab.

< < < Anwendung 1 >>>

[2017.07.27 21: 30: 17.117] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Kundeninformationsanfrage für client_id Validieren: L7c7Zqf9QpDKjyEtOQ74R__RSy0a und callback_uri http://[hostname]:[8080]/xxxx/ [2017.07.27 21: 30: 17.124] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Registrierte App für die gegebene Client-ID gefunden: L7c7Zqf9QpDKjyEtOQ74R__RSy0a, App Name: Application1, Callback-URL : http://[hostname]:[8080]/xxxx/ [2017-07-27 21: 30: 30,506] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Autorisierungsanfrage für den Benutzer erhalten: [email protected], Client-ID: L7c7Zqf9QpDKjyEtOQ74R__RSy0a, Authorization Response-Typ: Code, Gewünscht Rückruf URI: http://[hostname]:[8080]/xxxx/, Gewünscht Gültigkeitsbereich: E-Mail openid Profil [2017.07.27 21: 30: 30.507] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - OAuthAuthzReqMessageContext zu threadlocal hinzugefügt [2017-07-27 21: 30: 30,508] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.CodeResponseTypeHandler} - Ausgegebener Autorisierungscode für Benutzer: [email protected], Verwendung des Weiterleitungs-URL: http://[hostname]:[8080]/xxxx/, Geltungsbereich: Offenes E-Mail-Profil, Gültigkeitszeitraum: 300000 [2017-07-27 21: 30: 30,510] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Gelöscht OAuthAuthzReqMessageContext [2017 -07-27 21: 30: 30,756] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Zugriffstokenanforderung für Client-ID empfangen L7c7Zqf9QpDKjyEtOQ74R__RSy0a, Benutzer-ID null, Gültigkeitsbereich: [] und Grant-Typ: authorization_code [2017-07-27 21: 30: 30,756] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} - Kann mit Client-ID und Secret authentifizieren. Client-ID: L7c7Zqf9QpDKjyEtOQ74R__RSy0a [2017.07.27 21: 30: 30.756] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} - Grant Typ: authorization_code Strict Client Validierungsset auf: null [2017-07-27 21: 30: 30,757] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Client-Anmeldeinformationen wurden aus der Datenbank abgerufen. [2017-07-27 21: 30: 30,757] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Erfolgreich authentifiziert den Client mit Client-ID: L7c7Zqf9QpDKjyEtOQ74R__RSy0a [2017-07-27 21:30: 30.757] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler} - Autorisierungscode Info war im Cache für die Client-ID nicht verfügbar: L7c7Zqf9QpDKjyEtOQ74R__RSy0a [2017-07-27 21: 30: 30,758] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler} - Einen Autorisierungscode gefunden, Client: L7c7Zqf9QpDKjyEtOQ74R__RSy0a, autorisierter Benutzer: [email protected], Bereich: E-Mail openid profile [2017-07-27 21: 30: 30,758] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Added OAuthTokenReqMessageContext zu Thread [2017.07.27 21: 30: 30.759] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler} - Unendliche Lebensdauer Zugriffstoken c6d1b10e-cd51-379a -9162-4f5228aaa5dc im Cache gefunden [2017-07-27 21: 30: 30,759] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Freigegeben OAuthTokenReqMessageContext [2017-07-27 21:30: 30759] DEBUG {org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} - Zugriffstoken Client-ID ausgegeben: L7c7Zqf9QpDKjyEtOQ74R__RSy0a Benutzername: [email protected] und Bereiche: E-Mail openid Profil

< < < Anwendung 2> >>

[2017.07.27 21: 30: 42.014] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Kundeninformationsanfrage für client_id Validieren: fwM8a593OUxufW2ZaBXYx9f1mREa und callback_uri http://[hostname]:[8090]/xxxx/ [2017.07.27 21.30 : 42,016] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Registrierte App gefunden für die angegebene Client-ID: fwM8a593OUxufW2ZaBXYx9f1mREa, App-Name: Application2, Rückruf-URL: http://[hostname]:[8090]/xxxx/ [2017-07-27 21: 30: 55,454 ] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Autorisierungsanforderung für den Benutzer erhalten: [email protected], Client-ID: fwM8a593OUxufW2ZaBXYx9f1mREa, Autorisierungsreaktionsart: code, Angeforderter Rückruf-URI: http://[hostname]:[8090]/xxxx/, Angeforderter Bereich: E-Mail openid Profil [2017-07-27 21: 30: 55,455] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - OAuthAuth hinzugefügt zReqMessageContext to threadlocal [2017-07-27 21: 30: 55,457] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.CodeResponseTypeHandler} - Erteilte Autorisierungscode an Benutzer: [email protected], Verwenden der Umleitung url: http://[hostname]:[8090]/xxxx/, Geltungsbereich: E-Mail-Openid-Profil, Gültigkeitszeitraum: 300000 [2017-07-27 21: 30: 55,458] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Gelöscht OAuthAuthzReqMessageContext [2017- 07-27 21: 30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Zugriffstokenanforderung für Client-ID fwM8a593OUxufW2ZaBXYx9f1mREa, Benutzer-ID null, Gültigkeitsbereich: [] und Erteilungsart: authorization_code [2017- 07-27 21: 30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} - Kann mit Client ID und Secret authentifizieren. Client-ID: fwM8a593OUxufW2ZaBXYx9f1mREa [2017-07-27 21: 30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} - Gewährungsart: authorization_code Strikte Clientvalidierung festgelegt auf: null [2017-07-27 21: 30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Client-Anmeldeinformationen wurden von der Datenbank abgerufen. [2017-07-27 21: 30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Erfolgreich authentifiziert den Client mit Client-ID: fwM8a593OUxufW2ZaBXYx9f1mREa [2017-07-27 21:30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler} - Autorisierungscode Info war im Cache für die Client-ID nicht verfügbar: fwM8a593OUxufW2ZaBXYx9f1mREa [2017-07-27 21: 30: 55,739] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler} - Ich habe einen Autorisierungscode gefunden, Client: fwM8a593OUxufW2ZaBXYx9f1mREa, autorisierter Benutzer: [email protected], scope: email openid profile [2017-07-27 21: 30: 55,740] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - OAuthTokenReqMessageContext zu threadlocal hinzugefügt [2017-07-27 21: 30: 55,740] DEBUG {org.wso2.carbon.identity. oauth2.to ken.handlers.grant.AbstractAuthorizationGrantHandler} - Unendliche Lebensdauer Access Token a01c94d9-c889-3a38-a67e-38a7f0350aa0 gefunden im Cache [2017-07-27 21: 30: 55,740] DEBUG {org.wso2.carbon.identity.oauth2. util.OAuth2Util} - Freigegebener OAuthTokenReqMessageContext [2017-07-27 21: 30: 55,740] DEBUG {org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} - Zugriffstoken für Client-ID: fwM8a593OUxufW2ZaBXYx9f1mREa Benutzername: testuser @ carbon .Super und Bereiche: E-Mail Openid Profil

+0

Was ist mit dem Outbound-authenticators für jede Anwendung konfiguriert? – farasath

+0

Laufen Ihre Apps auf der Domain localhost? Kürzlich hat Chrome eine Änderung vorgenommen, die das Setzen von Cookies für localhost verhindert hat. Eine Sache, die ich vorschlagen kann, ist, Ihre Apps in zwei Domains wie abc.com und xyz.com zu setzen und das gleiche zu versuchen. – farasath

+0

https://docs.wso2.com/display/IS530/Basic+Client+Profil+mit+Spielplatz – farasath

Antwort

0

Nächster Schritt ist, Ihre Client-Anwendung, die versuchen wird, Benutzer mit WSO2 mit OpenID Connect authentifizieren. Gehen Sie folgendermaßen vor:

https://docs.wso2.com/display/IS530/OpenIDConnect

Sobald eine Kopie Ihrer Anwendung durchgeführt, Erstellen und Ausführen auf anderen Port und spielen mit SSO und SLO. dies ist ein Beispiel:

https://docs.wso2.com/display/IS530/Configuring+OpenID+Connect+Single+Logout

+0

Vielen Dank, Agam! Ich habe meine Fragen bearbeitet, um die Tatsache zu berücksichtigen, dass ich die Client-Anwendungen authentifiziere und Zugriffstoken mit IS erhalte. Nur nachdem ich mich in Anwendung 1 angemeldet habe, werde ich immer noch aufgefordert, mich beim Zugriff auf Anwendung 2 anzumelden. Irgendwelche Ideen, wo ich falsch gelaufen bin? – Leo

+0

Das sollte nicht an erster Stelle passieren. Ich habe jedoch einige Fragen, in beiden Anwendungen ist die URL von wso2 gleich? Sind Cookies in Ihrem Browser aktiviert? Versuchen Sie, die Anwendung im selben Fenster zu öffnen (ohne inkognito oder privat für die zweite Anwendung zu verwenden?) – Agam

+0

Ja, beide Anwendungen haben die gleiche wso2is URL und Portnummer. Anfangs waren Cookies nicht aktiviert, aber ich habe sie aktiviert. Ich habe es mit den Chrome- und FF-Browsern versucht und habe Browser beendet, um sicher zu gehen, dass die Einstellung wirksam wurde. Ich verwende nicht inkognito oder private Browsing für die zweite Anwendung ... versuchte neue Registerkarte und vorhandene Registerkarte. – Leo

Verwandte Themen