From 0c5e8d0c941aef2b5ece619123664c3c48bbc3ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Wed, 7 Dec 2022 09:19:06 +0100 Subject: [PATCH] docfix/Tweak docs regarding Hydra ORY integration --- obp-api/src/main/scala/code/model/OAuth.scala | 12 ++++++++---- .../scala/code/snippet/ConsumerRegistration.scala | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/obp-api/src/main/scala/code/model/OAuth.scala b/obp-api/src/main/scala/code/model/OAuth.scala index 56b9d881c..1463460cf 100644 --- a/obp-api/src/main/scala/code/model/OAuth.scala +++ b/obp-api/src/main/scala/code/model/OAuth.scala @@ -261,17 +261,20 @@ object MappedConsumersProvider extends ConsumersProvider with MdcLoggable { } val updatedConsumer = c.saveMe() + // In case we use Hydra ORY as Identity Provider we update corresponding client at Hydra side a well if(integrateWithHydra && Option(originIsActive) != isActive && isActive.isDefined) { val clientId = c.key.get val existsOAuth2Client = Box.tryo(hydraAdmin.getOAuth2Client(clientId)) .filter(null !=) - // if disable consumer, delete hydra client, else if enable consumer, create hydra client - // note: hydra update client endpoint have bug, can't update any client, So here delete and create new one + // Please note: + // Hydra's update client endpoint has a bug. Cannot update clients, so we need to delete and create a new one. + // If a consumer is disabled we delete a corresponding client at Hydra side. + // If the consumer is enabled we delete and create our corresponding client at Hydra side. if (isActive == Some(false)) { existsOAuth2Client .map { oAuth2Client => hydraAdmin.deleteOAuth2Client(clientId) - // set grantTypes to empty to disable the client + // set grantTypes to empty list in order to disable the client oAuth2Client.setGrantTypes(Collections.emptyList()) hydraAdmin.createOAuth2Client(oAuth2Client) } @@ -279,7 +282,7 @@ object MappedConsumersProvider extends ConsumersProvider with MdcLoggable { existsOAuth2Client .map { oAuth2Client => hydraAdmin.deleteOAuth2Client(clientId) - // set grantTypes to correct value to enable the client + // set grantTypes to correct value in order to enable the client oAuth2Client.setGrantTypes(HydraUtil.grantTypes) hydraAdmin.createOAuth2Client(oAuth2Client) } @@ -437,6 +440,7 @@ object MappedConsumersProvider extends ConsumersProvider with MdcLoggable { case None => } val createdConsumer = c.saveMe() + // In case we use Hydra ORY as Identity Provider we create corresponding client at Hydra side a well if(integrateWithHydra) createHydraClient(createdConsumer) createdConsumer } diff --git a/obp-api/src/main/scala/code/snippet/ConsumerRegistration.scala b/obp-api/src/main/scala/code/snippet/ConsumerRegistration.scala index ac09c30e6..094f023e1 100644 --- a/obp-api/src/main/scala/code/snippet/ConsumerRegistration.scala +++ b/obp-api/src/main/scala/code/snippet/ConsumerRegistration.scala @@ -134,6 +134,7 @@ class ConsumerRegistration extends MdcLoggable { val jwks = jwksVar.is val jwsAlg = signingAlgVar.is var jwkPrivateKey: String = s"Please change this value to ${if(StringUtils.isNotBlank(jwksUri)) "jwks_uri" else "jwks"} corresponding private key" + // In case we use Hydra ORY as Identity Provider we create corresponding client at Hydra side a well if(HydraUtil.integrateWithHydra) { HydraUtil.createHydraClient(consumer, oAuth2Client => { val signingAlg = signingAlgVar.is