This document explains how to publish the Dynamic Client Registration API v3.2 in WSO2 Open Banking.
Prerequisite
Open the
<WSO2_OB_APIM_HOME>/repository/resources/api_templates/velocity_template.xml
file and add the following handler afterGatewayClientAuthenticationHandler
in the#if($apiObj.additionalProperties.get("ob-api-type") == "dcr" || $!apiName == "DynamicClientRegistrationAPI")
section.<handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerCacheExtensionHandler"/>
Open the
<WSO2_OB_APIM_HOME>/repository/conf/axis2/axis2.xml
file, do the following configurations and restart the API Manager server.Add the following under the
<messageFormatters>
tag:<messageFormatters> <messageFormatter contentType="application/jose" class="org.apache.axis2.format.PlainTextFormatter"/>
Add the following under the
<messageBuilders>
tag:<messageBuilders> <messageBuilder contentType="application/jose" class="org.apache.axis2.format.PlainTextBuilder"/>
- Sign in to the /wiki/spaces/OB140/pages/29394577 (
https://<WSO2_OB_APIM_HOST>:9443/publisher
) withcreator/publisher
privileges. - Click ADD NEW API .
- Select I Have an Existing API option.
- Select the Swagger File option and browse for the Swagger definition by clicking the Browse button.
Use the<WSO2_OB_APIM_HOME>/repository/resources/finance/apis/openbanking.org.uk/DynamicClientRegistration/3.2/dynamic-client-registration-swagger.yaml
file to configure the properties according to the open-banking specification. - You are directed to the Design API stage. Design General Details are loaded for you in the Design tab.
- Click Next: Implement to navigate to the next level.
- Expand Managed API and set Endpoint Type by selecting Dynamic Endpoint from the drop-down list.
- Under Message Mediation Policies, check Select a message mediation policy to be executed in the message flow.
Uploading the In flow:
Make the following changes:
Open the
<WSO2_OB_APIM_HOME>/repository/resources/finance/apis/openbanking.org.uk/DynamicClientRegistration/3.2/dcr-dynamic-endpoint-insequence-3.2.xml
In sequence file using a text editor.Add the
ContentType
property below the<sequence>
tag:<property name="ContentType" value="application/jwt" scope="axis2"/>
Replace
<WSO2_OB_APIM_HOSTNAME>
with the hostname of your WSO2 Open Banking API Manager server and save the changes.<header name="To" value="https://<WSO2_OB_APIM_HOSTNAME>:9443/ob-dynamic-client-registration" />
Click Upload In Flow and upload the modified
dcr-dynamic-endpoint-insequence-3.2.xml
In sequence file.- Click Next: Manage to navigate to the next level.
- Under Subscription Tiers, check the option Unlimited : Allows unlimited requests unless you want to limit the requests.
You need to configure the open banking specification, API type, and the version for DCR API you deploy in the API Publisher. This is available only as a WUM update and is effective from June 07, 2020 (07-06-2020). For more information on updating WSO2 Open Banking, see Updating WSO2 Products.
Expand API Properties and add the following as Additional properties and click the + button to proceed.
Property Name ob-api-type Property Value dcr Expand API Properties and add the following as Additional properties and click the + button to proceed.
Property Name Property Value ob-spec
uk
ob-api-type
dcr
ob-api-version
3.2
Click Save & Publish.
- The published DCR v3.2 API is available in the API Store.
You can find the REST API documentation for Dynamic Client Registration v3.2 here.