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/.
Configuring Open Banking API Management for Australia
Follow the below-mentioned steps to deploy the Open Banking API Management (WSO2-OB-APIM) module.
- Copy the
<WSO2_OB_APIM_HOME>/repository/resources/finance/scripts/wso2-obam-conf/deployement/au/deployment.toml
file to the<WSO2_OB_APIM_HOME>/repository/conf/
directory and replace the existing one. Do the below-mentioned configurations in
<WSO2_OB_APIM_HOME>/repository/conf/deployment.toml
and restart the Open Banking API Manager server.Make sure the Identity and Access Management server is running before you start the API Manager server.
To start, go to the
<WSO2_OB_APIM_HOME>/bin
directory and execute the following command:./wso2server.sh
Configuration | Functionality | |
---|---|---|
1 | [[custom_message_formatters]] class = "org.apache.axis2.format.PlainTextFormatter" content_type = "application/jwt" [[custom_message_builders]] class = "org.apache.axis2.format.PlainTextBuilder" content_type = "application/jwt" | By default, the message_formatters and message_builders are configured. If you want to change them, update the [custom_message_formatters] and [custom_message_builders] properties. |
2 | [transport.passthru_https.sender.parameters] HostnameVerifier = "AllowAll" [transport.passthru_https.listener.parameters] "SSLVerifyClient" = "optional" | By default, the Possible Values: |
3 | # for registry data [database.shared_db] url = "jdbc:mysql://<MYSQL_DB_HOST>:3306/openbank_govdb?autoReconnect=true&useSSL=false" username = "<username>" password = "<password>" driver = "<driver_class_name>" [database.shared_db.pool_options] maxActive = "150" maxWait = "60000" minIdle ="5" testOnBorrow = true validationQuery="SELECT 1" #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" validationInterval="30000" defaultAutoCommit=false # for api manager data [database.apim_db] url = "jdbc:mysql://<MYSQL_DB_HOST>:3306/openbank_apimgtdb?autoReconnect=true&useSSL=false" username = "<username>" password = "<password>" driver = "<driver_class_name>" [database.apim_db.pool_options] maxActive = "150" maxWait = "60000" minIdle ="5" testOnBorrow = true validationQuery="SELECT 1" #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" validationInterval="30000" defaultAutoCommit=false # for am-config registry [database.config] url = "jdbc:mysql://<MYSQL_DB_HOST>:3306/openbank_am_configdb?autoReconnect=true&useSSL=false" username = "<username>" password = "<password>" driver = "<driver_class_name>" [database.config.pool_options] maxActive = "150" maxWait = "60000" minIdle ="5" testOnBorrow = true validationQuery="SELECT 1" #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" validationInterval="30000" defaultAutoCommit=false # for user management data [[datasource]] id="WSO2UM_DB" url = "jdbc:mysql://<MYSQL_DB_HOST>:3306/openbank_userdb?autoReconnect=true&useSSL=false" username = "<username>" password = "<password>" driver = "<driver_class_name>" jmx_enable=false pool_options.maxActive = "150" pool_options.maxWait = "60000" pool_options.minIdle = "5" pool_options.testOnBorrow = true pool_options.validationQuery="SELECT 1" #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" pool_options.validationInterval="30000" pool_options.defaultAutoCommit=false # for getting statistics to API Manager id="WSO2AM_STATS_DB" url = "jdbc:mysql://<MYSQL_DB_HOST>:3306/openbank_apimgt_statsdb?autoReconnect=true&useSSL=false" username = "<username>" password = "<password>" driver = "<driver_class_name>" jmx_enable=false pool_options.maxActive = "150" pool_options.maxWait = "60000" pool_options.minIdle = "5" pool_options.testOnBorrow = true pool_options.validationQuery="SELECT 1" #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" pool_options.validationInterval="30000" pool_options.defaultAutoCommit=false [open_banking_database] config.url = "jdbc:mysql://<MYSQL_DB_HOST>:3306/openbank_openbankingdb?autoReconnect=true&useSSL=false" username = "<username>" password = "<password>" driver = "<driver_class_name>" [open_banking_database.config.pool_options] maxActive = "150" maxWait = "60000" minIdle ="5" testOnBorrow = true validationQuery="SELECT 1" #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" validationInterval="30000" defaultAutoCommit=false | Update the If you are using Oracle, update the #Use below for oracle #validationQuery="SELECT 1 FROM DUAL" |
4 | [super_admin] username = "<username>" password = "<password>" create_admin_account = true [realm_manager] data_source= "WSO2UM_DB" [user_store] type = "database_unique_id" class = "org.wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager" [user_store.properties] UsernameJavaRegEx = "a-zA-Z0-9@._-{3,30}$" UsernameJavaScriptRegEx = "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$" SCIMEnabled = false IsBulkImportSupported = false LeadingOrTrailingSpaceAllowedInUserName = false UsernameWithEmailJavaScriptRegEx = "^[\\S]{3,30}$" [authorization_manager] class = "org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager" [authorization_manager.properties] AdminRoleManagementPermissions = "/permission" AuthorizationCacheEnabled = true GetAllRolesOfUserEnabled = false |
Update username, password, UsernameJavaRegEx, UsernameJavaScriptRegEx, IsBulkImportSupported, and UsernameWithEmailJavaScriptRegEx
properties. |
5 | [[apim.gateway.environment]] http_endpoint = "http://<WSO2_OB_APIM_HOST>:${http.nio.port}" https_endpoint = "https://<WSO2_OB_APIM_HOST>:${https.nio.port}" | Update the endpoint URLs for the APIs hosted in this API Gateway. |
6 | [apim.analytics] enable = false receiver_username = "$ref{super_admin.username}@carbon.super" store_api_username = "$ref{super_admin.username}@carbon.super" | Enable analytics for the API Manager by setting the value for enable property as true and update the reciever_username , store_api_username . |
7 | [apim.key_manager] service_url = "https://<WSO2_OB_IAM_HOST>:9446${carbon.context}services/" key_manager_client_impl = "com.wso2.finance.open.banking.sca.keymanager.SCABasedKeyManagerClient" | Add the port to the service_url parameter of authentication service and update the key_manager_client_impl parameter with relevant values. |
8 | [apim.oauth_config] enable_outbound_auth_header = true | Remove OAuth headers from an outgoing message by updating the value for enable_outbound_auth_header as false. |
9 | [apim.oauth_config] white_listed_scopes = ["^device_.*", "openid", "^OB_.*", "^TIME_.*"] | By default, white_listed_scopes are configured as in the left column. If you want to change, update with the relevant values. |
10 | [apim.devportal] enable_comments = false enable_ratings = false | By default, display the comment editing facility and ratings are set to "false". If you want to enable, set the values for |
11 | [apim.throttling] enable_data_publishing = true jms.topic_connection_factory = "amqp://admin!wso2.com!carbon.super:$ref{super_admin.password}@clientid/carbon?brokerlist='tcp://${carbon.local.ip}:${jms.port}'" receiver_username = "$ref{super_admin.username}@carbon.super" | By default jms.topic_connection_factory is configured. If you want to change, update with relevant values. |
12 | [server] hostname = "<WSO2_OB_APIM_HOST>" node_ip = "IP_ADDRESS" mode = "single" #single or ha base_path = "${carbon.protocol}://${carbon.host}:${carbon.management.port}" #discard_empty_caches = false server_role = "default" | Update the hostname and the IP address of the WSO2 Open Banking API Management server. |
13 | [open_banking] deployed_spec = "AU" | Defines the specification that you plan to deploy. |
14 | [open_banking] sharable_accounts_retrieve_endpoint ="http://<WSO2_OB_APIM_HOST>:9763/api/openbanking/backenduk/services/bankaccounts/bankaccountservice/sharable-accounts" | Sharable Accounts: Accounts that are accessible onlineConfigures the endpoint to retrieve sharable accounts that are required to list on the consent page. |
15 | [open_banking.au.metadata_cache] default_timeout = 1 dcr_internal_url = "https://<WSO2_OB_APIM_HOST>:9443/api/openbanking/dynamic-client-registration/common/register/" | Metadata ManagementACCC 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:
|
16 | [open_banking.au.metadata_cache] metadata_mgt_endpoint = "https://<WSO2_OB_IAM_HOST>:9446/api/openbanking/au-metadata-mgt/au100/register/metadata" | Add the given metadata_mgt_endpoint tag and configure the Metadata Cache Management endpoint. This is required for the Consumer Data Standards Administration API. |
17 | [open_banking.au] holder_identifier = "<!--configure bank specific identifier-->" | Define a Data Holder specific identifier for extended API endpoints by configuring the [open_banking.au] holder_identifier = "ABC-Bank" |
18 | [open_banking.au.admin.api] self_url = "_self-url_" | Generate self-link in the CDS Administration API response. This is only available as a WSO2 Update from WSO2 Open Banking API Manager Level 2.0.0.46 onwards. For more information on updating WSO2 Open Banking, see Updating WSO2 Products. |
19 | [open_banking.api_security] mtls_token_binding.enable = false | By default, Mutual Transport Later Security (MTLS) certificate bound access token is disabled. To enable, configure set mtls_token_binding.enable as true . |
20 | [open_banking.cert_mgt] client_auth_header = "x-wso2-mutual-auth-cert" | If MTLS is terminated before the request reaches the Gateway, retrieve the Data Recipient's certificate from the MTLS session and include as a transport certificate header. Include the value for the transport certificate header under client_auth_header property. |
21 | [open_banking.bi_server.data_publishing] enable = false server_url = "{tcp://<WSO2_OB_BI_HOST>:7612}" | This is for the Data Reporting feature, to enable data publishing set the e nable property value to true . So, the WSO2 Open Banking Business Intelligence can capture and summarize data. Replace the <WSO2_OB_BI_HOST> placeholder with the hostname of Open Banking Business Intelligence server. |
22 | [open_banking.api_security.global] username = "$ref{super_admin.username}" password = "$ref{super_admin.password}" | By default, the Consent Management APIs are secured with basic authentication. To access the Consent Management APIs, use the default user or create a new user using the WSO2 Open Banking Identity and Access Management Console. Update the credentials under |
23 | [open_banking.dcr] uri_validation.enable = false hostname_validation.enable = false software_id_as_application_name.enable = true | Dynamic Client Registration (DCR).
|
24 | [open_banking.dcr] sector_identifier_uri_validation.enable = true | Sector Identifier URI validation This is available only as a WUM update and is effective from June 30, 2021 (06-30-2021). For more information on updating WSO2 Open Banking, see Updating WSO2 Products.
|
25 | [open_banking.dcr] request_jti_validation.enable = true ssa_jti_validation.enable = true jti_cache_expiry_time = 60 | Validate the JTI claim in the SSA This is only available as a WSO2 Update from WSO2 Open Banking API Manager Level 2.0.0.85 and WSO2 Open Banking Identity Server Level 2.0.0.93 onwards. For more information on updating WSO2 Open Banking, see Updating WSO2 Products. Add the following configurations under
|
26 | [open_banking.jwt_authentication_handler] enable = true issuer = "<CDR_REGISTER_ID>" subject = "<CDR_REGISTER_ID>" audience = "<TOKEN_ENDPOINT_URL>" jwks_url = "<JWKS_URL>" cache_expiry_time = "1440" | CDS Admin API AuthenticationTo enable CDS Admin API authentication, update the following properties with relevant values:
See the sample configuration below: [open_banking.jwt_authentication_handler] enable = true issuer = "cdr-register" [default value] subject = "cdr-register" [default value] audience = "https://wso2ob.com" jwks_url = "https://keystore.openbankingtest.org.uk/0015800001HQQrZAAX/9b5usDpbNtmxDcTzs7GzKp.jwks" cache_expiry_time = "1440" |
27 | [open_banking.sca] primary_authenticator.name="OBIdentifierExecutor" primary_authenticator.display_name="ob-identifier-first" | By default, two factors (basic, and smsotp) are configured to engage when a TPP creates an application and generates keys. To enable identifier-first authentication, add the configurations as in the left column. |
28 | [open_banking.account_id_validation_on_retrieval] enable = true | Enable Request-URI validation that validates |
29 | [open_banking.uk.inbound_signature] algo = "PS256" | Specify the allowed signature algorithms in TPP requests. With this configuration, WSO2 Open Banking rejects the JWTs signed in algorithms that are not in the following list. If the configuration is not added, no validation occurs and any algorithm is passed through. By default, allowed values are;
|
30 | [open_banking.au.id_permanence] secret_key = <SECRET_KEY> | Configure encryption/decryption key for ID permanence. By default, the secret value is " wso2 ".This is available only as a WUM update and is effective from March 24, 2021 (03-24-2021). For more information on updating WSO2 Open Banking, see Updating WSO2 Products. Prerequisite If you need to support ID permanence, make sure to follow the below steps before deploying the CDS Standard API in
|
31 | [[apim.devportal.application_attributes]] required = false hidden = false name ="recipient_base_uri_sandbox" description = "Recipient Base URI of the sandbox" [[apim.devportal.application_attributes]] required = false hidden = false name ="recipient_base_uri_production" description = "Recipient Base URI of the production" | Data Holder Initiated Consent Revocation via Data Recipient's Consent Revocation EndpointThis is available only as a WSO2 Update and is effective from July 21, 2021 (07-21-2021). For more information on updating WSO2 Open Banking, see Updating WSO2 Products.
|
Disabling weak ciphers
A cipher is an algorithm for performing encryption or decryption. When you set the SSL protocol of your server to TLS, the TLS and the default ciphers get enabled without considering the strength of the ciphers. This is a security risk as weak ciphers, also known as EXPORT ciphers, can make your system vulnerable to attacks. To prevent these types of security attacks, it is encouraged to disable the weak ciphers.
Refer to Disabling weak ciphers in the WSO2 Administration Guide and disable weak ciphers.
To enable logs:
If you want to add/enable logs, follow the steps given below:
- Open the
<WSO2_OB_APIM_HOME>/repository/conf/log4j2.properties
file. Add the name and the level of the logger if they are not already available. The sample explains how to add a
mtls-validation-handler
logger.Append the new logger to the list of loggers:
loggers = mtls-validation-handler, AUDIT_LOG, trace-messages, org-apache-coyote,...
- Restart the server.