In this article I present a method for connecting to SDL WorldServer and fetching a security token to be used in all subsequent API calls.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static String getSecurityToken(String wsBaseUrl, String username, String password) throws IOException { | |
StringBuilder loginJson = new StringBuilder(); | |
loginJson.append("{"); | |
loginJson.append("\"username\":\"" + username + "\","); | |
loginJson.append("\"password\":\"" + password + "\""); | |
loginJson.append("}"); | |
HttpClient httpClient = HttpClientBuilder.create().build(); | |
HttpPost httpPostRequest = new HttpPost(wsBaseUrl + "/ws-api/v1/login"); | |
httpPostRequest.setHeader(new BasicHeader("Content-Type", "application/json")); | |
httpPostRequest.setHeader(new BasicHeader("Accept", "application/json")); | |
httpPostRequest.setEntity(new StringEntity(loginJson.toString())); | |
HttpResponse response = httpClient.execute(httpPostRequest); | |
Gson gson = new GsonBuilder().create(); | |
JsonObject jsonLoginResponse = gson | |
.fromJson(new InputStreamReader(response.getEntity().getContent()), JsonObject.class); | |
return jsonLoginResponse.getAsJsonPrimitive("sessionId").getAsString(); | |
} |
- wsBaseUrl
- username
- password
As mentioned earlier, the call returns a security token to be used in all subsequent API calls.
No comments:
Post a Comment