Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list

##Urgent requirement##


Level 4

Hi Team,

below is the code(partial) using which I am able to generate JWT token and subsequently access token using single scope=profile,

how to combine another scope (offline_access) to generate JWT token which which gives me access token as well as refresh token



	claims.put("aud", "http://localhost:4502/oauth/token");
			claims.put("iss", "u3a3i5pn1mgalf3fq7oof8jk33-iyz0qx0v");
			claims.put("sub", "admin");
			claims.put("exp", exp);
			claims.put("iat", iat);
			claims.put("scope", "profile");
			//claims.put("scope", "offline_access");
			claims.put("cty", "code");

			token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.RS256, privateKey).compact();


Thanks Regards,


1 Reply


Level 5

This seems like a custom implementation for OAuth, is it? I suppose you're using AEM as a (SP) Service Provider? If so, what IdP (Identity Provider) you are integerating with?

Generally the IdP would provide API or tech documentation on how SP can consume different tokens from it.

I'll wait for the above answers before digging deeper.


Level 4

Hi Nikhil,


yes custom Oauth implementation and yes AEM as SP..,

if iam not mistaken IDP is AEM 




Level 5

You can't have AEM (or any application) as both SP and IdP 🙂

From your description it seems to be that you are probably using AEM as SP, since you are trying to fetch access token in it.

Here's a sample project where AEM (as SP) is integrated with Linked (as IdP) for users to login using OAuth. This should give you a good idea implementing custom OAuth in AEM.


Level 4

for now, we are using some sample(app) redirect uri for integration