Expand my Community achievements bar.

Get ready! An upgraded Experience League Community experience is coming in January.

Mark Solution

This conversation has been locked due to inactivity. Please create a new post.

AEM as a Cloud Service Tutorials - Create an Access Token | AEM Community Blog Seeding

Avatar

Administrator

BlogImage.jpg

AEM as a Cloud Service Tutorials - Create an Access Token by Adobe Docs

Abstract

Exchange JWT for Access Token
The JWT created in the previous step is exchanged with Adobe IMS APIs for an Access Token, which can then be used to access AEM as a Cloud Service. To request an Access Token send a POST request containing the JWT, client_id, client_secret to the IMS authentication service.

The following code was used to generate exchange JWT for Access Token

public String getAccessToken() {

String jwtToken = getJWTToken();
GetServiceCredentials getCredentials = new GetServiceCredentials();
System.out.println("Getting Access Token");

try {
HttpClient httpClient = HttpClientBuilder.create().build();
HttpHost authServer = new HttpHost(getCredentials.getIMS_ENDPOINT(), 443, "https");
HttpPost authPostRequest = new HttpPost("/ims/exchange/jwt");
List < NameValuePair > nameValuePairs = new ArrayList < NameValuePair > ();
nameValuePairs.add(new BasicNameValuePair("jwt_token", jwtToken));
nameValuePairs.add(new BasicNameValuePair("client_id", getCredentials.getCLIENT_ID()));
nameValuePairs.add(new BasicNameValuePair("client_secret", getCredentials.getCLIENT_SECRET()));
authPostRequest.setEntity(new UrlEncodedFormEntity(nameValuePairs, Consts.UTF_8));
HttpResponse response;
response = httpClient.execute(authServer, authPostRequest);
StatusLine statusLine = response.getStatusLine();
System.out.println("The status code is " + statusLine.getStatusCode());
HttpEntity result = response.getEntity();
String jsonResponseStr = EntityUtils.toString(result);
System.out.println(jsonResponseStr);
JsonReader jsonReader = new JsonReader(new StringReader(jsonResponseStr));
JsonObject jsonObject = JsonParser.parseReader(jsonReader).getAsJsonObject();

System.out.println("Returning access_token " + jsonObject.get("access_token").getAsString());
return jsonObject.get("access_token").getAsString();

} catch (Exception e) {
System.out.print("Error: " + e.getMessage());
}
return "null";

}

Read Full Blog

AEM as a Cloud Service Tutorials - Create an Access Token

Q&A

Please use this thread to ask the related questions.



Kautuk Sahni
0 Replies