2016-07-05 41 views
0

ich eine Fern json Webservice in liferay in 'ServiceImpl' & gemacht haben ihre in der Liste der Web-Services auf Seite vorkommenden http://localhost:8080/api/jsonws & auch gut funktioniert. Aber es funktioniert nur, wenn ich in der Anwendung im Browser angemeldet bin. Was ich nicht, ist immer, dass, wie würde ich den Hit authentifizieren wenn einige andere nicht liferay Anwendung es benutzen würde, wo es keine Sitzung meiner Anwendung sein wird, bedeutet, von wo wir kommen, dass p_auth Token. Benötige ich eine Benutzersitzung in meiner Anwendung? Danke.Wie man einen Web-Service authentifizieren Hit von einem nicht liferay App

+0

Wie kann ich die ** Webdienste ** authentifizieren ** mit ** OAuth **, bedeutet, wie man es implementiert. Ich möchte Web-Dienste von ** Postman ** mit ** OAuth ** treffen, dann sollte es Daten zurückgeben. Ich möchte die ** Token ** basierte Authentifizierung, wie ist es möglich in ** liveray **. – sRijit

Antwort

0

Sie haben von dem Client authentifizieren Sie zum Beispiel fordern Java verwenden, kann ein Apache-HTTP-Client mit einer preemtive Basic-Authentifizierung zum Beispiel ClientPreemptiveBasicAuthentication

oder mit curl verwendet diese Weise

curl http://localhost:8080/api/jsonws/user/get-user-by-email-address \ 
    -u [email protected]:test \ 
    -d companyId=20154 \ 
    -d emailAddress='[email protected]' 

für siehe weitere Informationen

JSON WS Security

Liferay docs

+0

Danke für die schnelle Antwort Sheshi, was ich ausprobiert habe, ist von einem normalen ** Java-Projekt ** in ** Hauptmethode ** Treffer, die ** Remote-Service **, es funktioniert, ich möchte wissen, ob es richtig ist Weg? – sRijit

+0

URL url = neue URL ("http: //localhost:8080/api/jsonws/survey-portlet.survey/hello-world/world-name/test"); \t \t HttpURLConnection conn = (HttpURLConnection) url.openConnection(); \t \t conn.setRequestMethod ("POST"); \t String encoding = Base64.getEncoder(). EncodeToString (neuer String ("[email protected]: test"). GetBytes()); \t \t \t conn.setRequestProperty ("Authorization", "Basic" + Codierung); – sRijit