This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.
Running the Dynamic Client Registration Conformance Suite
WSO2 Open Banking 1.5.0 supports Dynamic Client Registration Conformance suite v1.3.0.Â
The Dynamic Client Registration (DCR) conformance certificate provided by Open Banking Implementation Entity (OBIE) verifies that all the DCR-specific functionalities allowed by an open banking solution are as per the guidelines defined by the OBIE specification.
Prerequisites:
- Install Docker in your environment.
- Download the following components of the WSO2 Open Banking solution:
- wso2-obam-1.5.0.zip (WSO2 Open Banking API Manager)
wso2-obkm-1.5.0.zip (WSO2 Open Banking Key Manager)
- Setup the WSO2 Open Banking solution using the instructions given in the following documents:
- Configure DCR in the WSO2 Open Banking solution. See Dynamic Client Registration v3.2Â for instructions.
This document provides instructions on the following topics:
Configuring the solution to support the DCR Conformance Suite tool
Stop the WSO2 OB APIM and WSO2 OB KM servers before applying the below changes.
Open
<WSO2_OB_APIM>/repository/deployment/server/synapse-configs/default/api/_DyanmicClientRegistrationAPI.xml
and the following property after the<insequence>
tag in both scenarios as follows:<resource methods="POST" url-mapping="/register" faultSequence="fault"> <inSequence> <property name="ContentType" value=" application/jwt" scope="axis2"/> <resource methods="DELETE PUT GET" uri-template="/register/{ClientId}" faultSequence="fault"> <inSequence> <property name="ContentType" value=" application/jwt" scope="axis2"/>
OpenÂ
<WSO2_OB_APIM>/repository/conf/axis2/axis2.xml
and add the followingÂ<messageFormatters>
 andÂ<messageBuilders>
respectively:messageFormatters:
<messageFormatters> <!-- Message formatter to support the application/jose content-type for DCR --> <messageFormatter contentType="application/jose" class="org.apache.axis2.format.PlainTextFormatter"/>
messageBuilders:
<messageBuilders> <!-- Message Builder to support the application/jose content-type for DCR --> <messageBuilder contentType="application/jose" class="org.apache.axis2.format.PlainTextBuilder"/>
Restart the WSO2 OB KM and WSO2 OB APIM servers.
well-known endpoint configuration
Follow the instruction given below:
- Stop the WSO2 OB KM server.
- Download and extract the well-known-config-resources.zip.
- CopyÂ
servlet-1.0-SNAPSHOT.jar
 in to theÂ<WSO2_OB_KM_HOME>/repository/components/lib
 directory. CopyÂ
openid-configuration.jsonÂ
file in to theÂ<WSO2_OB_KM_HOME>/repository/conf/identity
 directory. Update the values inÂopenid-configuration.json
 file according to your requirement.A sample openid-configuration.json is available here.
Register the servlet in
 <WSO2_OB_KM_HOME>/repository/conf/tomcat/web.xml
 file by adding the following elements before theÂ</webapp>
 tag.<servlet> <servlet-name>Discovery</servlet-name> <servlet-class>myPackage.Discovery</servlet-class> </servlet>
<servlet-mapping> <servlet-name>Discovery</servlet-name> <url-pattern>/oidcdiscovery/.well-known/openid-configuration</url-pattern> </servlet-mapping>
Restart the WSO2 OB KM server. Go to the following link and see the changes.
https://<WSO2_OB_KM_HOST>:8243/.well-known/openid-configuration
Configuring the config.json file
Once you complete the well-known endpoint configuration, change the field values in the config.json
file. A sample config.jso
n is given below:
{ "wellknown_endpoint": <well-known endpoint>, "ssa": <Software Statement Assertion>, "kid": <CERTIFICATE_FINGERPRINT>, "aud": <This is the audience that the ID token is intended for. For example, https://<<OB_HOST>>:8243/token>, "redirect_uris": ["redirecturi"], "issuer": <SOftwareID>, "private_key": <PrivateKey>, "transport_root_cas": ["cert 1", "cert 2"], "transport_cert": <TransportCertificate>, "transport_key": <TransportKey>, "get_implemented": true, "put_implemented": true, "delete_implemented": true, "spec_version": "3.2", "environment": "sandbox", "brand": "wso2" }
A sample JSON configuration file is available here.
Running the DCR Conformance Suite
When running the commands, change <CONFIG_FILE>
to the path where you place the config.json mentioned above.
Open a terminal and run the following command to run the complete test suite:
docker run --rm -it -v <CONFIG_FILE>:/config.json openbanking/conformance-dcr:[TAG] -config-path=/config.json
If you want to run the test suite in the debug mode, run the following command with the
-debug
 flag:docker run --rm -it -v <CONFIG_FILE>:/config.json openbanking/conformance-dcr:[TAG] -config-path=/config.json -debug
If you want to run a test case separately, run the following command with the Â
-filter <test-id>
flag:docker run --rm -it -v <CONFIG_FILE>:/config.json openbanking/conformance-dcr:[TAG] -config-path=/config.json -filter <test-id>
You can generate a DCR Conformance test report using the following command:
docker run -p 8080:<PORT> — rm -it -v <CONFIG_FILE>:/config.json openbanking/conformance-dcr -config-path=/config.json -report
Once you run the above command, you can download the report from https://0.0.0.0:8080.Â