Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

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