diff --git a/obp-api/src/main/scala/code/api/v4_0_0/dynamic/DynamicEndpointHelper.scala b/obp-api/src/main/scala/code/api/v4_0_0/dynamic/DynamicEndpointHelper.scala index 845c2f3c2..92bb77ed4 100644 --- a/obp-api/src/main/scala/code/api/v4_0_0/dynamic/DynamicEndpointHelper.scala +++ b/obp-api/src/main/scala/code/api/v4_0_0/dynamic/DynamicEndpointHelper.scala @@ -99,14 +99,14 @@ object DynamicEndpointHelper extends RestHelper { * @return (adapterUrl, requestBodyJson, httpMethod, requestParams, pathParams, role, operationId, mockResponseCode->mockResponseBody) */ def unapply(r: Req): Option[(String, JValue, AkkaHttpMethod, Map[String, List[String]], Map[String, String], ApiRole, String, Option[(Int, JValue)])] = { - val partPath = r.path.partPath - if (!testResponse_?(r) || partPath.headOption != Option(urlPrefix)) - None + val partPath = r.path.partPath//eg: List("dynamic","feature-test") + if (!testResponse_?(r) || partPath.headOption != Option(urlPrefix))//if check the Content-Type contains json or not, and check the if it is the `dynamic_endpoints_url_prefix` + None //if do not match `URL and Content-Type`, then can not find this endpoint. return None. else { val akkaHttpMethod = HttpMethods.getForKeyCaseInsensitive(r.requestType.method).get val httpMethod = HttpMethod.valueOf(r.requestType.method) // url that match original swagger endpoint. - val url = partPath.tail.mkString("/", "/", "") + val url = partPath.tail.mkString("/", "/", "") // eg: --> /feature-test val foundDynamicEndpoint: Option[(String, String, Int, ResourceDoc)] = dynamicEndpointInfos .map(_.findDynamicEndpoint(httpMethod, url)) .collectFirst { diff --git a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala index 63f905d0b..833fea5e3 100644 --- a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala +++ b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala @@ -9250,8 +9250,15 @@ trait RestConnector_vMar2019 extends Connector with KafkaHelper with MdcLoggable //In RestConnector, we use the headers to propagate the parameters to Adapter. The parameters come from the CallContext.outboundAdapterAuthInfo.userAuthContext //We can set them from UserOauthContext or the http request headers. private[this] implicit def buildHeaders(callContext: Option[CallContext]): List[HttpHeader] = { + val generalContext = callContext.flatMap(_.toOutboundAdapterCallContext.generalContext).getOrElse(List.empty[BasicGeneralContext]) - generalContext.map(generalContext => RawHeader(generalContext.key,generalContext.value)) + val headersFromGeneralContext = generalContext.map(generalContext => RawHeader(generalContext.key,generalContext.value)) + + val basicUserAuthContexts: List[BasicUserAuthContext] = callContext.flatMap(_.toOutboundAdapterCallContext.outboundAdapterAuthInfo.flatMap(_.userAuthContext)).getOrElse(List.empty[BasicUserAuthContext]) + val headersFromUserAuthContext = basicUserAuthContexts.map(userAuthContext => RawHeader(userAuthContext.key,userAuthContext.value)) + + headersFromGeneralContext++headersFromUserAuthContext + } private[this] def buildAdapterCallContext(callContext: Option[CallContext]): OutboundAdapterCallContext = callContext.map(_.toOutboundAdapterCallContext).orNull diff --git a/obp-api/src/main/webapp/index.html b/obp-api/src/main/webapp/index.html index 96e06c37a..7cda7d1dc 100644 --- a/obp-api/src/main/webapp/index.html +++ b/obp-api/src/main/webapp/index.html @@ -333,7 +333,7 @@ Berlin 13359, Germany If you are using this sandbox for a hackathon, we recommend you use Direct Login. - For an OAuth walkthrough example with sample code, please see here. + For an OAuth walkthrough example with sample code, please see here. We use OAuth 1.0a. For deepish technical details of the flow see here.
diff --git a/obp-api/src/main/webapp/media/css/authorise.css b/obp-api/src/main/webapp/media/css/authorise.css index 9e8259e4d..0ba2fa814 100644 --- a/obp-api/src/main/webapp/media/css/authorise.css +++ b/obp-api/src/main/webapp/media/css/authorise.css @@ -1,7 +1,7 @@ #authorise{ padding: 0px 10px; color: white; - margin: 80px auto; + margin: 80px auto 120px; } #authorise h1 { diff --git a/obp-api/src/main/webapp/sdks.html b/obp-api/src/main/webapp/sdks.html index bcb9a8909..363617b1f 100644 --- a/obp-api/src/main/webapp/sdks.html +++ b/obp-api/src/main/webapp/sdks.html @@ -7,14 +7,14 @@ width="120" height="120" alt="python"/>

Python

- By OpenBankProject + Source Code
django

Django

- By OpenBankProject + Source Code
nodejs

NodeJS

- By OpenBankProject + Source Code
react

React

- By OpenBankProject + Source Code
nextjs

Next.JS

- By OpenBankProject + Source Code
flutter

Flutter

- By OpenBankProject + Source Code
mac

Mac

- By OpenBankProject + Source Code
ios

IOS

- By OpenBankProject + Source Code
csharp

Java / Spring Boot

- By OpenBankProject + Source Code
android

Java / Android

- By OpenBankProject + Source Code
scala

Scala / Liftweb

- By OpenBankProject + Source Code
php

PHP

- By OpenBankProject + Source Code
- csharp -

C#

- By OpenBankProject + csharp +

Spring Boot (Hola)

+ Source Code
-

Please make sure you are using the correct sandbox domain when using the SDKs. In doubt, drop us a line.

\ No newline at end of file diff --git a/obp-api/src/main/webapp/templates-hidden/default.html b/obp-api/src/main/webapp/templates-hidden/default.html index 8dd7c644b..ae72e832e 100644 --- a/obp-api/src/main/webapp/templates-hidden/default.html +++ b/obp-api/src/main/webapp/templates-hidden/default.html @@ -107,12 +107,13 @@ Berlin 13359, Germany