This documentation is for WSO2 Open Banking version 1.4.0. View documentation for the latest release.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Define the Open Banking specific Request Object Validator under the <OpenIDConnect> as follows:

    Code Block
    languagexml
    <RequestObjectValidator>com.wso2.finance.request.object.validator.OBRequestObjectValidatorImpl</RequestObjectValidator>
  2. Update the following configurations under the <OAuth> property with the hostname of the Open Banking API Manager Gateway.

    Code Block
    languagexml
    <OAuth2AuthzEPUrl>${carbon.protocol}://<WSO2_OB_APIM_HOST>:8243/authorize</OAuth2AuthzEPUrl>      
    <OAuth2TokenEPUrl>${carbon.protocol}://<WSO2_OB_APIM_HOST>:8243/token</OAuth2TokenEPUrl>
    
    <OAuth2UserInfoEPUrl>${carbon.protocol}://<WSO2_OB_APIM_HOST>:8243/userinfo</OAuth2UserInfoEPUrl>
    
    
    <OAuth2DCREPUrl>${carbon.protocol}://<WSO2_OB_APIM_HOST>:8243/register</OAuth2DCREPUrl>
    
    <IDTokenIssuerID>https://<WSO2_OB_APIM_HOST>:8243/token</IDTokenIssuerID>
  3. Make sure the RenewRefreshTokenForRefreshGrant value set to false. With this configuration, the refresh token that is received by the refresh token grant type is not renewed. This is used to enforce consent re-authorization.

    Code Block
    languagexml
    <RenewRefreshTokenForRefreshGrant>false</RenewRefreshTokenForRefreshGrant>
  4. Configure the ReceiverURL of the <EventPublisher> under <AdaptiveAuth> with the hostname of the Open Banking Business Intelligence Server. By default, the relevant Siddhi Apps are configured to listen to port 8006.

    Code Block
    languagexml
    <ReceiverURL>http://<WSO2_OB_BI_HOST>:8006/</ReceiverURL>
  5. Make sure the following Open Banking specific response type handlers are added under the <SupportedResponseTypes>.

    Code Block
    languagexml
    <SupportedResponseType>
    	<ResponseTypeName>code</ResponseTypeName>
    	<ResponseTypeHandlerImplClass>com.wso2.finance.open.banking.identity.extensions.response.type.handlers.OBCodeResponseTypeHandler</ResponseTypeHandlerImplClass>
    </SupportedResponseType>
    <SupportedResponseType>
    	<ResponseTypeName>code id_token</ResponseTypeName>
    	<ResponseTypeHandlerImplClass>com.wso2.finance.open.banking.identity.extensions.response.type.handlers.OBHybridResponseTypeHandler</ResponseTypeHandlerImplClass>
    </SupportedResponseType>
  6. The following Open Banking specific grant types should be there under <SupportedGrantTypes> property.


    Code Block
    languagexml
    <SupportedGrantType>
    	<GrantTypeName>authorization_code</GrantTypeName>
    	<GrantTypeHandlerImplClass>com.wso2.finance.open.banking.identity.extensions.grant.type.handlers.OBAuthorizationCodeGrantHandler</GrantTypeHandlerImplClass>
    </SupportedGrantType>
    
    <SupportedGrantType>
    	<GrantTypeName>client_credentials</GrantTypeName>
    	<GrantTypeHandlerImplClass>com.wso2.finance.open.banking.identity.extensions.grant.type.handlers.OBClientCredentialsGrantHandler</GrantTypeHandlerImplClass>
    	<IsRefreshTokenAllowed>false</IsRefreshTokenAllowed>
    	<IdTokenAllowed>false</IdTokenAllowed>
    </SupportedGrantType>
  7. The cache configurations are available in <CacheConfig> under <CacheManager> element. You can update the configurations according to your requirements.

  8. The ID Token Builder and the algorithm that signs the ID Token Builder can be configuredare configurable.

    By default, <IDTokenBuilder>  <IDTokenBuilder> is set to org.wso2.carbon.identity.openidconnect.DefaultIDTokenBuilder. For example, to sign the <IDTokenBuilder> with the SHA256withPS algorithm the configurations are as follows:

    Code Block
    languagexml
    <OpenIDConnect>
    	<IDTokenBuilder>org.wso2.carbon.identity.openidconnect.DefaultIDTokenBuilder</IDTokenBuilder>
    	<SignatureAlgorithm>SHA256withPS</SignatureAlgorithm>
    </OpenIDConnect>

    Anchor
    BasicAuthConsentMgt
    BasicAuthConsentMgt

  9. By default, the Consent Management APIs are secured with basic authentication. 

    1. Each API resource is secured using a <Resource> element under <ResourceAccessControl>

    2. Use the default user or create a new user in the Key Manager Management Console to access the Consent Management APIs.
    3. Update the <Permissions> element under <Resource> with the role assigned to the user. This role is used to restrict access to the APIs
    4. Update the credentials in Open Banking API Manager with the created user details.

      Expand
      titleClick here to see how it is done
      1. Open the <WSO2_OB_APIM_HOME>/repository/conf/finance/open-banking.xml file.
      2. Update the credentials under <APISecurity><Global> with the created user details.

        By default, this is set to the username and password of the super admin.

        Code Block
        languagexml
        <APISecurity>
        	<Global>
        		<Username>[email protected]</Username>
        		<Password>wso2123</Password>
        	</Global>
        </APISecurity>
    5. To disable basic authentication for an API, set the secured property to false in the corresponding <Resource> element. For example, to disable basic authentication for uk300 resources, update the configurations as follows:

      Code Block
      languagexml
      <ResourceAccessControl>
      	<!--
      
                  Configuration for protecting consent management APIs.
                  If not required, set secured to false. The credentials of the basic auth are
                  from the registered user role with the permission as specified in the Permission tag.
              
          -->
      	<Resource context="(.*)/uk300/(.*)" http-method="all" secured="false" allowed-auth-handlers="BasicAuthentication">
      		<Permissions>/permission/admin</Permissions>
      	</Resource>
      	<!--
                 END OF Configuration for protecting consent management APIs 
          -->
      </ResourceAccessControl>

...