2016-09-13 3 views
1

Ich baue einen Angularjs-Client und eine Spring-Boot-Anwendung. Das Backend stellt einige Dummy-REST-APIs zur Verfügung. Jetzt möchte ich den wso2 Api Manager integrieren, um meine REST APIs und den wso2 Identity Server zu sichern.Wie man wso2 API Manager und wso2 Identity Server mit einer einzigen Webanwendung verwendet

Also verwende ich den vorgepackten Identity Server mit API Manager. Ich bin in der Lage, den Benutzer zu autorisieren, wenn er die Webapp nur durch Umleiten auf den WSO2 API Manager Server eingibt: window.location.href = https://localhost:9445/oauth2/authorize

So kann ich das Login-Formular des wso2 Identity Server sehen. Nachdem ich meine Zugangsdaten eingegeben habe, werde ich mit einem neuen URL-Parameter namens code zu meiner Webapp zurückgeleitet.

In den Dokumenten lese ich, dass ich eine neue Anfrage mit dem neu erhaltenen code machen muss, um ein Zugriffs-Token zu erhalten. Hier ist das Problem. Ich muss einen Authorization: Basic Header senden, wobei der Wert die Base64-Codierung des client_id:client_secret ist. So weit ich weiß, ist es nicht sicher, den geheimen Schlüssel des Klienten im Javascript-Code zu behalten.

Außerdem bin ich mir nicht sicher, ob ich den richtigen Flow mit wso2 verwende. Gibt es ein klares Tutorial/Beispiel, wie ich wso2 für eine Webanwendung nutzen kann?

Ich bin mit WSO2 Api-Manager 1.10.0 und WSO2 Identity Server 5.1.0.

EDIT: Ich fand heraus, dass ich den impliziten Ablauf für Browser/Javascipt-Anwendung verwenden muss.

Antwort

0

Ich fand die Antwort. In einer Browserumgebung muss ich den "impliziten" Fluss verwenden. Auf diese Weise erhalte ich ein Zugriffstoken vom api Management Server.