This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, go to https://wso2.com/documentation/.

Metadata Cache Management

Data Holders are required to be able to react to Data Recipient and associated software product status changes within 5 minutes of the change occurring on the CDR Register. To achieve this, Data Holders can poll APIs to retrieve the current statuses and check the validity of Data Recipients and associated software products and cache these for use during requests for Consumer Data. 

Metadata Cache Management module of WSO2 Open Banking supports:

  1. Retrieving the statuses of Accredited Data Recipient (ADR) software products from the Australian Competition and Consumer Commission (ACCC). 
  2. Validating ADR and software product during:
    • Requests to disclose CDR data
    • Requests to withdraw CDR Arrangement ID
    • Consumer authorises the CDR Arrangement ID
  3. Performing Data holder responsibilities such as revoking CDR Arrangement ID and removing registrations.

Configuring Metadata Management

ACCC does not support this feature yet. To try out the feature before the ACCC endpoints are available, create a mock back end and invoke the hosted services.

Once ACCC creates its status discovery endpoints, the Data Holder should configure the following properties:
  • enable : To enable metadata caching, set the value to true .
  • update_period : Defines the fetch time for periodical cache update in minutes.
  • default_timeout :  The expiration time of base cache in minutes.  
  • dcr_internal_url : The endpoint of the API Manager internal URL accessing Dynamic Client Registration.
  • data_recipient_discovery_url :  The endpoint provided by ACCC for retrieving the statuses of Data Recipients.

     Click here to see a mock back end for Data Recipients Discovery endpoint
    {
       "dataRecipients":[
          {
             "dataRecipientId":"TPP1",
             "dataRecipientStatus":"Active"
          },
          {
             "dataRecipientId":"TPP2",
             "dataRecipientStatus":"Suspended"
          },
          {
             "dataRecipientId":"TPP3",
             "dataRecipientStatus":"Revoked"
          },
          {
             "dataRecipientId":"TPP4",
             "dataRecipientStatus":"Surrendered"
          },
          {
             "dataRecipientId":"TPP5",
             "dataRecipientStatus":"Active"
          },
          {
             "dataRecipientId":"TPP7",
             "dataRecipientStatus":"Suspended"
          },
          {
             "dataRecipientId":"OI1",
             "dataRecipientStatus":"Active"
          },
          {
             "dataRecipientId":"TPP8",
             "dataRecipientStatus":"Surrendered"
          },
          {
             "dataRecipientId":"TPP9",
             "dataRecipientStatus":"Active"
          },
          {
             "dataRecipientId":"TPP10",
             "dataRecipientStatus":"Suspended"
          },
          {
             "dataRecipientId":"TPP11",
             "dataRecipientStatus":"Revoked"
          },
          {
             "dataRecipientId":"TPP12",
             "dataRecipientStatus":"Surrendered"
          }
       ]
    }
  • software_product_discovery_url : The endpoint provided by ACCC for retrieving the statuses of Software Products.

     Click here to see a mock back end for Software Products Discovery endpoint
    {
       "softwareProducts":[
          {
             "softwareProductId":"SP1",
             "softwareProductStatus":"Active"
          },
          {
             "softwareProductId":"SP2",
             "softwareProductStatus":"Inactive"
          },
          {
             "softwareProductId":"SP3",
             "softwareProductStatus":"Removed"
          },
          {
             "softwareProductId":"SP4",
             "softwareProductStatus":"Active"
          },
          {
             "softwareProductId":"SP5",
             "softwareProductStatus":"Inactive"
          },
          {
             "softwareProductId":"SP6",
             "softwareProductStatus":"Removed"
          },
          {
             "softwareProductId":"SP7",
             "softwareProductStatus":"Active"
          },
          {
             "softwareProductId":"SI1",
             "softwareProductStatus":"Inactive"
          },
          {
             "softwareProductId":"SP9",
             "softwareProductStatus":"Removed"
          },
          {
             "softwareProductId":"SP10",
             "softwareProductStatus":"Active"
          },
          {
             "softwareProductId":"SP11",
             "softwareProductStatus":"Inactive"
          },
          {
             "softwareProductId":"SP12",
             "softwareProductStatus":"Removed"
          }
       ]
    }
  • token_revocation_url : The endpoint of the revocation mechanism that allows a Data Recipient to invalidate its user access tokens and refresh tokens.

By default, Metadata Cache Management is configured in WSO2 Open Banking for Australia as follows:

  • Open  the <WSO2_OB_IAM_HOME>/repository/conf/deployment.toml file.
  • Add the following configurations with the hostname of your Identity and Access Management server:

    [apim.key_manager]
    service_url = "https://<WSO2_OB_IAM_HOST>:9446${carbon.context}services/"
  • Update the following configurations as required:

    [open_banking.au.metadata_cache]
    enable = false
    update_period = 5
    default_timeout = 1
    dcr_internal_url = "https://<WSO2_OB_APIM_HOST>:9443/api/openbanking/dynamic-client-registration/common/register/"
    data_recipient_discovery_url = "<!--data recipient discovery url-->"
    software_product_discovery_url = "<!--software product discovery url-->"
    token_revocation_url = "https://<WSO2_OB_APIM_HOST>:9443/oauth2/revoke"