From 00a24f22c15343207ab797155714722171cc3df8 Mon Sep 17 00:00:00 2001 From: YuriyZ Date: Wed, 19 Jan 2022 11:04:58 +0200 Subject: [PATCH] feat(jans-auth-server): added put response modification method https://github.com/JanssenProject/jans/issues/380 --- ...ernalDynamicClientRegistrationService.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/jans-auth-server/server/src/main/java/io/jans/as/server/service/external/ExternalDynamicClientRegistrationService.java b/jans-auth-server/server/src/main/java/io/jans/as/server/service/external/ExternalDynamicClientRegistrationService.java index dab8d4f319f..7fdaf746567 100644 --- a/jans-auth-server/server/src/main/java/io/jans/as/server/service/external/ExternalDynamicClientRegistrationService.java +++ b/jans-auth-server/server/src/main/java/io/jans/as/server/service/external/ExternalDynamicClientRegistrationService.java @@ -255,4 +255,27 @@ public boolean modifyPostResponse(JSONObject responseAsJsonObject, ExecutionCont } return false; } + + public boolean modifyPutResponse(JSONObject responseAsJsonObject, ExecutionContext context) { + CustomScriptConfiguration script = defaultExternalCustomScript; + + try { + if (log.isTraceEnabled()) { + log.trace("Executing python 'modifyPutResponse' method, script name: {}, context: {}, response: {}", script.getName(), context, responseAsJsonObject.toString()); + } + context.setScript(script); + + ClientRegistrationType type = (ClientRegistrationType) script.getExternalType(); + final boolean result = type.modifyPutResponse(responseAsJsonObject, context); + if (log.isTraceEnabled()) { + log.trace("Finished 'modifyPutResponse' method, script name: {}, context: {}, result: {}, response: {}", script.getName(), context, result, responseAsJsonObject.toString()); + } + + return result; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + saveScriptError(script.getCustomScript(), ex); + } + return false; + } }