Giter VIP home page Giter VIP logo

forgerock-openbanking-sample's Introduction

Open Banking Reference Implementation Sample

Code sample for helping TPPs and ASPSP using the ForgeRock Open Banking reference implementation platform.

Licence

License: CDDLv1.0
License URL : http://forgerock.org/cddlv1-0/

How to install the app

Downloading the project code and loading it with intellij

You need to get the code locally for the git project repo. For this, you need to

Setup the host files

You will need to create some new hostnames for the application.

127.0.0.1		tpp.sample.ob.forgerock.financial redirect.tpp.sample.ob.forgerock.financial tpp.ob.forgerock.financial

Register your TPP with the ForgeRock directory

ForgeRock directory manage keys for you and expose the jwkms, a service for generated JWTs.

What you need to do:

  • create a new software statement into ForgeRock directory
  • download your transport key
  • Setup postman to use your transport keys for the jwkms, directory and ASPSP
  • run the collections ASPSP V1.1 > Examples > Example 1: Onboarding

Register your TPP with the Open Banking directory

We implemented a script which will allow you to generate keys, ready to go, that you can import to Open Banking directory. What you need to do:

  • create a new software statement into Open Banking -- add a dummy redirect uri, like https://google.fr
  • you will need to copy the organisation ID and software ID into two files: -- generate-keys/Makefile -- forgerock-openbanking-sample-tpp/src/main/resources/application.yml (be careful, in some places, you need to lower case the software id)
  • generate the SSA and copy it to the file forgerock-openbanking-sample-tpp/src/main/resources/ob/ssa.jwt Now you are ready to generate some new keys:
  • do make all and follow the instructions of the script
  • Copy the signing kid value from Open Banking directory to the file forgerock-openbanking-sample-tpp/src/main/resources/application.yml

You should be ready to run the application now.

Run the application

  • Compile the project: mvn clean install
  • run it using intellij or by doing ./forgerock-openbanking-sample-tpp/target/forgerock-openbanking-sample-tpp-1.1.1-SNAPSHOT.jar
  • try to say hello to the app:
curl -X GET \
  https://tpp.ob.forgerock.financial:7777/open-banking/v1.1//helloworld/ 

you should have as a response:

Hello World!

How to use the application ?

In the project, you will find a folder called postman. In there, you will find a postman collection and an environment that you can import in your postman application.

You will find the hello world request in it.

A suggested order of execution:

  • "hello world" : for testing your application installation
  • "register TPP to ASPSP": register your TPP
  • "Get registered ASPSPs": you can check that the ASPSP you just registered with is in the list
  • "initiate account request": you start the Account request OB flow -- you get back an uri that you need to execute in your browser. -- login and accept the consent -- you are redirected to the redirect_uri with a code, state and id token.
  • "exchange code": exchange the code you received to get an access token back
  • call the request you want under the "Account API" folder.

Edit the application for raising support tickets to ForgeRock

You can modify this project to match a behaviour you are doing with your own TPP. It's the recommended way if you want to raise an issue to the ForgeRock team:

  • modify this project to reproduce the issue
  • push a Pull request into the project
  • use the Pull Request ID into your support ticket.

forgerock-openbanking-sample's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.