Hi,
I think I've done something similar, with following approach, but ymmv (just a draft below, missing error handling etc):
In the API assemble I have following policies in this order:
1) Invoke-policy makes a request to backend service, registering response let's say as variable 'backendResponse' (per "Response object variable" -setting under Invoke-policy settings)
2) Gatewayscript-policy for crafting the private claim, using step #1 response as-is or partly
// JSON response from backend callvar backendResponse = apim.getvariable('backendResponse');// Constructing custom user claim for JWT tokenvar customUserData = {"user": backendResponse.body};
customUserData.user.newAttributeX = "Y";
// etc further tweaking// Passing in this variable for the JWT-generate stepapim.setvariable('customUserData', customUserData);3) JWT-Generate policy , where the "Private claims" -setting is then referring to variable "customUserData" set in step #2
Br, Panu
------------------------------
Panu Tamminen
Digia
------------------------------