diff --git a/obp-api/src/main/resources/props/sample.props.template b/obp-api/src/main/resources/props/sample.props.template index 66362085b..f5a5c6a6e 100644 --- a/obp-api/src/main/resources/props/sample.props.template +++ b/obp-api/src/main/resources/props/sample.props.template @@ -179,6 +179,8 @@ jwt.use.ssl=false ## Expire OBP consents with status "ACCEPTED" +## If this props is not set corresponding job is not started +## Unit is a second # obp_expired_consents_interval_in_seconds = diff --git a/obp-api/src/main/scala/code/api/util/APIUtil.scala b/obp-api/src/main/scala/code/api/util/APIUtil.scala index 05440e775..924093e8e 100644 --- a/obp-api/src/main/scala/code/api/util/APIUtil.scala +++ b/obp-api/src/main/scala/code/api/util/APIUtil.scala @@ -560,6 +560,8 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ def getRequestHeadersBerlinGroup(callContext: Option[CallContextLight]): CustomResponseHeaders = { val aspspScaApproach = getPropsValue("berlin_group_aspsp_sca_approach", defaultValue = "redirect") + logger.debug(s"ConstantsBG.berlinGroupVersion1.urlPrefix: ${ConstantsBG.berlinGroupVersion1.urlPrefix}") + logger.debug(s"callContext.map(_.url): ${callContext.map(_.url)}") callContext match { case Some(cc) if cc.url.contains(ConstantsBG.berlinGroupVersion1.urlPrefix) && cc.url.endsWith("/consents") => CustomResponseHeaders(List( @@ -3043,10 +3045,10 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ } } } else if (hasAnOAuthHeader(cc.authReqHeaderField)) { // OAuth 1 - getUserFromOAuthHeaderFuture(cc) + getUserFromOAuthHeaderFuture(cc.copy(consumer = consumerByCertificate)) } else if (hasAnOAuth2Header(cc.authReqHeaderField)) { // OAuth 2 for { - (user, callContext) <- OAuth2Login.getUserFuture(cc) + (user, callContext) <- OAuth2Login.getUserFuture(cc.copy(consumer = consumerByCertificate)) } yield { (user, callContext) } diff --git a/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala b/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala index 01ea36639..a10ac2177 100644 --- a/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala +++ b/obp-api/src/main/scala/code/api/v4_0_0/APIMethods400.scala @@ -8195,10 +8195,10 @@ trait APIMethods400 extends MdcLoggable { nameOf(getConsentInfosByBank), "GET", "/banks/BANK_ID/my/consent-infos", - "Get My Consents Info By Bank", + "Get My Consents Info At Bank", s""" | - |This endpoint gets the Consents that the current User created. + |This endpoint gets the Consents that the current User created at bank. | |${userAuthenticationMessage(true)} | diff --git a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala index 37c91d520..861cd342a 100644 --- a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala +++ b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala @@ -1772,8 +1772,7 @@ trait APIMethods510 { consent <- Future { Consents.consentProvider.vend.getConsentByConsentId(consentId)} map { unboxFullOrFail(_, cc.callContext, ConsentNotFound, 404) } - errorMessage = s" ${consent.mConsumerId.get} != ${cc.consumer.map(_.consumerId.get).getOrElse("None")}" - _ <- Helper.booleanToFuture(failMsg = ConsentNotFound + errorMessage, failCode = 404, cc = cc.callContext) { + _ <- Helper.booleanToFuture(failMsg = ConsentNotFound, failCode = 404, cc = cc.callContext) { consent.mConsumerId.get == cc.consumer.map(_.consumerId.get).getOrElse("None") } } yield { diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala index 6bc95ef20..be1d2fe8a 100644 --- a/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala +++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala @@ -47,27 +47,27 @@ class ConsumerTest extends V510ServerSetup { * This is made possible by the scalatest maven plugin */ object VersionOfApi extends Tag(ApiVersion.v5_1_0.toString) - object ApiEndpoint1 extends Tag(nameOf(Implementations5_1_0.createConsumer)) - object ApiEndpoint2 extends Tag(nameOf(Implementations5_1_0.getConsumers)) - object ApiEndpoint3 extends Tag(nameOf(Implementations5_1_0.updateConsumerRedirectURL)) - object ApiEndpoint4 extends Tag(nameOf(Implementations5_1_0.updateConsumerLogoURL)) + object CreateConsumer extends Tag(nameOf(Implementations5_1_0.createConsumer)) + object GetConsumers extends Tag(nameOf(Implementations5_1_0.getConsumers)) + object UpdateConsumerRedirectURL extends Tag(nameOf(Implementations5_1_0.updateConsumerRedirectURL)) + object UpdateConsumerLogoURL extends Tag(nameOf(Implementations5_1_0.updateConsumerLogoURL)) object UpdateConsumerName extends Tag(nameOf(Implementations5_1_0.updateConsumerName)) object UpdateConsumerCertificate extends Tag(nameOf(Implementations5_1_0.updateConsumerCertificate)) object GetConsumer extends Tag(nameOf(Implementations5_1_0.getConsumer)) feature("Test all error cases ") { - scenario("We test the authentication errors", UpdateConsumerName, GetConsumer, ApiEndpoint1, ApiEndpoint2, ApiEndpoint3, ApiEndpoint4, UpdateConsumerCertificate, VersionOfApi) { + scenario("We test the authentication errors", UpdateConsumerName, GetConsumer, CreateConsumer, GetConsumers, UpdateConsumerRedirectURL, UpdateConsumerLogoURL, UpdateConsumerCertificate, VersionOfApi) { When("We make a request v5.1.0") lazy val postApiCollectionJson = SwaggerDefinitionsJSON.postApiCollectionJson400 val requestApiEndpoint1 = (v5_1_0_Request / "management" / "consumers").POST val responseApiEndpoint1 = makePostRequest(requestApiEndpoint1, write(postApiCollectionJson)) - val requestApiEndpoint2 = (v5_1_0_Request / "management" / "consumers").GET + val requestApiEndpoint2 = (v5_1_0_Request / "management" / "consumers").GET val responseApiEndpoint2 = makeGetRequest(requestApiEndpoint2) val requestApiEndpoint3= (v5_1_0_Request / "management" / "consumers" / "CONSUMER_ID" / "consumer" / "redirect_url").PUT val responseApiEndpoint3 = makePutRequest(requestApiEndpoint3, write(postApiCollectionJson)) - + val requestApiEndpoint4 = (v5_1_0_Request /"management" / "consumers" / "CONSUMER_ID" / "consumer" / "logo_url").PUT val responseApiEndpoint4 = makePutRequest(requestApiEndpoint4, write(postApiCollectionJson)) @@ -99,8 +99,8 @@ class ConsumerTest extends V510ServerSetup { responseApiEndpoint5.code should equal(401) responseApiEndpoint5.body.toString contains(s"$UserNotLoggedIn") should be (true) } - - scenario("We test the missing roles errors", UpdateConsumerName, GetConsumer, ApiEndpoint1, ApiEndpoint2, ApiEndpoint3, ApiEndpoint4, UpdateConsumerCertificate, VersionOfApi) { + + scenario("We test the missing roles errors", UpdateConsumerName, GetConsumer, CreateConsumer, GetConsumers, UpdateConsumerRedirectURL, UpdateConsumerLogoURL, UpdateConsumerCertificate, VersionOfApi) { When("We make a request v5.1.0") lazy val wrongJsonForTesting = SwaggerDefinitionsJSON.routing @@ -112,7 +112,7 @@ class ConsumerTest extends V510ServerSetup { val requestApiEndpoint3= (v5_1_0_Request / "management" / "consumers" / "CONSUMER_ID" / "consumer" / "redirect_url").PUT<@ (user1) val responseApiEndpoint3 = makePutRequest(requestApiEndpoint3, write(wrongJsonForTesting)) - + val requestApiEndpoint4 = (v5_1_0_Request /"management" / "consumers" / "CONSUMER_ID" / "consumer" / "logo_url").PUT<@ (user1) val responseApiEndpoint4 = makePutRequest(requestApiEndpoint4, write(wrongJsonForTesting)) @@ -143,8 +143,8 @@ class ConsumerTest extends V510ServerSetup { responseApiEndpoint5.code should equal(403) responseApiEndpoint5.body.toString contains (s"$canGetConsumers") should be(true) } - - scenario("We added the proper roles, but wrong json", UpdateConsumerName, ApiEndpoint1, ApiEndpoint2, ApiEndpoint3, ApiEndpoint4, VersionOfApi) { + + scenario("We added the proper roles, but wrong json", UpdateConsumerName, CreateConsumer, GetConsumers, UpdateConsumerRedirectURL, UpdateConsumerLogoURL, VersionOfApi) { When("we first grant the missing roles:") Entitlement.entitlement.vend.addEntitlement("", resourceUser1.userId, canCreateConsumer.toString) Entitlement.entitlement.vend.addEntitlement("", resourceUser1.userId, canUpdateConsumerLogoUrl.toString) @@ -159,7 +159,7 @@ class ConsumerTest extends V510ServerSetup { val requestApiEndpoint3= (v5_1_0_Request / "management" / "consumers" / "CONSUMER_ID" / "consumer" / "redirect_url").PUT<@ (user1) val responseApiEndpoint3 = makePutRequest(requestApiEndpoint3, write(wrongJsonForTesting)) - + val requestApiEndpoint4 = (v5_1_0_Request /"management" / "consumers" / "CONSUMER_ID" / "consumer" / "logo_url").PUT<@ (user1) val responseApiEndpoint4 = makePutRequest(requestApiEndpoint4, write(wrongJsonForTesting)) @@ -183,9 +183,9 @@ class ConsumerTest extends V510ServerSetup { responseApiUpdateConsumerCertificate.body.toString contains(s"$InvalidJsonFormat") should be (true) } } - + feature(s"test all successful cases") { - scenario("we create, update and get consumers", UpdateConsumerName, GetConsumer, ApiEndpoint1, ApiEndpoint2, ApiEndpoint3, ApiEndpoint4, VersionOfApi) { + scenario("we create, update and get consumers", UpdateConsumerName, GetConsumer, CreateConsumer, GetConsumers, UpdateConsumerRedirectURL, UpdateConsumerLogoURL, VersionOfApi) { When("we first grant the missing roles:") Entitlement.entitlement.vend.addEntitlement("", resourceUser1.userId, canCreateConsumer.toString)