From 40348bd04cb2d8fd8482f1e6e357674b3bab7981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Fri, 22 Mar 2024 11:50:05 +0100 Subject: [PATCH] feature/Tweak props hydra_uses_obp_user_credentials --- obp-api/src/main/resources/props/sample.props.template | 2 +- obp-api/src/main/scala/code/api/OAuth2.scala | 5 +++-- obp-api/src/main/scala/code/util/HydraUtil.scala | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/obp-api/src/main/resources/props/sample.props.template b/obp-api/src/main/resources/props/sample.props.template index 6ac90b4fd..e71ce467b 100644 --- a/obp-api/src/main/resources/props/sample.props.template +++ b/obp-api/src/main/resources/props/sample.props.template @@ -1032,7 +1032,7 @@ outboundAdapterCallContext.generalContext # hydra_token_endpoint_auth_method=private_key_jwt # hydra_supported_token_endpoint_auth_methods=client_secret_basic,client_secret_post,private_key_jwt ## ORY Hydra login url is "obp-api-hostname/user_mgt/login" implies "true" in order to avoid creation of a new user during OIDC flow -# use_obp_user_at_hydra=false +# hydra_uses_obp_user_credentials=true # ------------------------------ Hydra oauth2 props end ------------------------------ # ------------------------------ default entitlements ------------------------------ diff --git a/obp-api/src/main/scala/code/api/OAuth2.scala b/obp-api/src/main/scala/code/api/OAuth2.scala index 8ff4238d4..396cd89e1 100644 --- a/obp-api/src/main/scala/code/api/OAuth2.scala +++ b/obp-api/src/main/scala/code/api/OAuth2.scala @@ -320,11 +320,12 @@ object OAuth2Login extends RestHelper with MdcLoggable { def resolveProvider(idToken: String) = { isIssuer(jwtToken = idToken, identityProvider = hydraPublicUrl) match { - case true if HydraUtil.useObpUserAtHydra => // Case that source of the truth of Hydra user management is the OBP-API mapper DB + case true if HydraUtil.hydraUsesObpUserCredentials => // Case that source of the truth of Hydra user management is the OBP-API mapper DB // In case that ORY Hydra login url is "hostname/user_mgt/login" we MUST override hydraPublicUrl as provider // in order to avoid creation of a new user Constant.localIdentityProvider - case false => // All other cases implies a new user creation + case _ => // All other cases implies a new user creation + // TODO raise exception in case of else case JwtUtil.getIssuer(idToken).getOrElse("") } } diff --git a/obp-api/src/main/scala/code/util/HydraUtil.scala b/obp-api/src/main/scala/code/util/HydraUtil.scala index b9e522c77..f55dd0591 100644 --- a/obp-api/src/main/scala/code/util/HydraUtil.scala +++ b/obp-api/src/main/scala/code/util/HydraUtil.scala @@ -25,7 +25,7 @@ object HydraUtil extends MdcLoggable{ val mirrorConsumerInHydra = APIUtil.getPropsAsBoolValue("mirror_consumer_in_hydra", false) - val useObpUserAtHydra = APIUtil.getPropsAsBoolValue("use_obp_user_at_hydra", false) + val hydraUsesObpUserCredentials = APIUtil.getPropsAsBoolValue("hydra_uses_obp_user_credentials", true) val clientSecretPost = "client_secret_post"